Open Source JavaFX 14 Arrives with Bug Fixes and a Few Enhancements

The devoted community of JavaFX maintainers are keeping pace with the six-month Java release cadence with the release of version 14 of the popular rich client toolkit. It's now available for download, just a week ahead of the release of Java 14 on March 17.

This isn't a major release -- mainly a few bug fixes and a couple of upgrades -- but it came in on schedule, and that's worth noting. In 2018, Oracle announced that it would be separating JavaFX from the core JDK distribution beginning with JDK 11. Oracle open-sourced the technology in 2011 as OpenJFX, and it became part of the Oracle JDK download in 2012. Since then, a passionate community has kept this set of graphics and media packages for rich client app development evolving.

"Predictability matters," tweeted Johan Vos, JavaFX maven and co-founder of Gluon, the leading developer of JavaFX. "Almost 6 months ago, it was proposed to release JavaFX 14 on March 10, 2020. Today, we are releasing it. We don't make cheap promises. We deliver. The #OpenJFX community is highly skilled and professional."

There are seven enhancements listed in the JavaFX 14 release notes. The Text and TextFlow components have a new property that allows devs to set the size of tabs, and another one that allows them to switch off the cursor on embedded systems. The shared code of TableView and TreeTableView was in a utility class and couldn't be overwritten, which made it difficult to develop extensions. Two components in the ControlsFX project could no longer be used with Java 11+. Support for HTTP/2 in in the WebView component is now available, and GTK is now used on Linux systems for drag and drop instead of GDK. Event dispatching has been optimized for the so-called "dirty bits" of node and scenegraph.

Also, a bug that caused CSS information to be evaluated redundantly several times was fixed, greatly improving the performance of the CSS styling. Some work was done in this release to pave the way for better interactions between JavaFX and GraalVM. And a problem on MacOS Catalina, which caused JavaFX applications to issue a warning at startup to the user that the app wants to receive input from all applications, was fixed. Also, problems with the dialogs on Catalina that caused apps to crash when loading and saving files were fixed.

The JavaFX 14 runtime is available as a platform-specific SDK, as a number of jmods, and as a set of artifacts in maven central. The release notes are available are available in the OpenJFX GitHub repository. JavaFX 14 should work with JDK 14 immediately, the community has said.

About the Author

John K. Waters is the editor in chief of a number of sites, with a focus on high-end development, AI and future tech. He's been writing about cutting-edge technologies and culture of Silicon Valley for more than two decades, and he's written more than a dozen books. He also co-scripted the documentary film Silicon Valley: A 100 Year Renaissance, which aired on PBS.  He can be reached at [email protected].