FX Experience Has Gone Read-Only

I've been maintaining FX Experience for a really long time now, and I love hearing from people who enjoy my weekly links roundup. One thing I've noticed recently is that maintaining two sites (FX Experience and JonathanGiles.net) takes more time than ideal, and splits the audience up. Therefore, FX Experience will become read-only for new blog posts, but weekly posts will continue to be published on JonathanGiles.net. If you follow @FXExperience on Twitter, I suggest you also follow @JonathanGiles. This is not the end - just a consolidation of my online presence to make my life a little easier!

tl;dr: Follow me on Twitter and check for the latest news on JonathanGiles.net.

JavaFX links of the week, February 27

Look at this – a post that is on time! Don’t expect this to happen too often πŸ™‚

That’s all – catch you all next week. πŸ™‚

 

JavaFX links of the week, February 21

Sorry about being late again! You wouldn’t believe how long my todo list is these days. My apologies! Enjoy πŸ™‚

Catch you next week….hopefully a bit earlier in the week than this…. πŸ™‚

Announcing JemmyFX

Yesterday our SQE (Software Quality Engineering) team pushed our JavaFX functional test suite, JemmyFX to OpenJFX! They also pushed some tests for Ensemble, our samples application. JemmyFX is based on Jemmy, a visual testing framework for Java used in NetBeans for many years. JemmyFX contains extensions which make it possible to write visual tests for JavaFX. Although JemmyFX is in the openjfx repo, you can download it and use it for writing visual tests for your own JavaFX applications.

For those folks who have been looking at contributing code to JavaFX, this is great news, because it means you can accelerate adoption of your specific features by also writing the tests necessary to ensure correctness, either as JUnit tests or now as functional tests using Jemmy. All you guys working on DatePicker, I’m looking at you πŸ˜‰

A Short Tour Through JavaFX-UI-Common

A Short Tour Through JavaFX-UI-Common

We’ve just recently announced the release of the “javafx-ui-common” project into OpenJFX. The name may be a little underwhelming, but the content is absolutely core to JavaFX. For most developers interested in contributing to JavaFX and in understanding how the system works, javafx-ui-common and javafx-ui-controls will be the two most important projects, both of which are now open source, and are part of the “JavaFX Public API” shown in the diagram. For developers interested in porting JavaFX to other platforms or improving the graphics performance — well we will be open sourcing Prism and Glass in the next few months :-).

Since javafx-ui-common is such a foundational part of the JavaFX platform, I thought I should give a short tour of what is in there, including the (gasp!) non-public portions. As always, non-public API (or rather, unsupported API, meaning anything that is not in the javafx namespace such as com.sun.*) cannot be depended on from release to release. But for those of you wondering how things work, there is some very important stuff buried in the unsupported packages, and for those of you wanting to actually hack on OpenJFX, this will be of even greater interest. If you haven’t yet, you might want to brush up on the overall architecture with this article.

In fact, our tour will begin in the unsupported package, with the Toolkit class, which you see as the second layer in the above diagram. This article is of interest to anybody wanting to work on JavaFX itself.

(more…)

More of the JavaFX Scenegraph open sourced

I’m very pleased to blog about the availability of more JavaFX source code being out in the wild. We’ve just put out the ‘javafx-ui-common’ project, which contains the vast majority of the JavaFX scenegraph API. You can check the code out from OpenJFX – it is in the rt repository. You can learn more about the javafx-ui-common project in a post by Richard Bair.

The javafx-ui-common project contains the following packages:

javafx.animation
javafx.application
javafx.geometry
javafx.scene
javafx.scene.effect
javafx.scene.image
javafx.scene.input
javafx.scene.layout
javafx.scene.paint
javafx.scene.shape
javafx.scene.text
javafx.scene.transform
javafx.stage

Once you’ve read that be sure to go and check it out! πŸ™‚