When I (re)started the JavaFX Links Of The Week on jfx-central.com in September, I was wondering if there would be enough material to share every week.
But that was a stupid mistake as you can see below in the summary of what happened in October…
JavaFX 19 and 20
JavaFX 19 just got released a few weeks ago, but Johan Vos is already looking forward to the next one: a really-worth-mentioning improvement that will be in JavaFX 20 is the update to MarlinFX 0.9.4.6 by Laurent Bourgès. Thank you very much Laurent for your contributions. They are an important part to the success of JavaFX. See JDK-8287604.
Laurent is even sharing his TODO list on GitHub in case you are curious about what he is working on…
Want to test JavaFX 20 Early Access? It’s already available on the Gluon website!
Up till now, each of the newer JavaFX versions could run with a lower JDK, e.g. JavaFX 17 works with JDK 11. But this will change as was mentioned on the mailinglist: “JavaFX 20 requires JDK 17 or later.”
Dirk Lemmermann shared a screenshot in a tweet of the pull requests in the openjdk/jfx project: “Wow, 47 pull requests “ready for review” in #OpenJFX. Looks like we have a traffic jam. Some several years old. Some ending with last comment “can you review this?” Hope Oracle really does increase their #javafx team member count.”
At JavaOne on October 20th, some JavaFX related announcements were made.
A tweet by James Weaver: “Great #JavaFX announcements from @kevinrushforth after being introduced by @mono_quito89 at #JavaOne, while bandmate and @Java legend @BrianVerm mixes drinks. Friend and colleague @johanvos at @GluonHQ highlighted in the process.”
And a LinkedIn message by Bernard Traversat: “We announced today we will be producing JavaFX build for JDK 20! Providing a modern UI toolkit for the Java platform will continue to make Java the most compelling platform for educators to teach programming and for UI innovators to explore new rich application UI designs.”
So the latest JavaFX will not only be available on the Gluon website, but also on jdk.java.net/javafx20.
Curious what the impact of this announcement will be and what we can share here next week…
Chad Preisler shared a video showing how to create a form using SceneBuilder and JavaFX, getting the form to resize the correct way.
Gluon announced the release of Gluon Scene Builder 19. You can get it from github.com/gluonhq/scenebuilder/releases.
It incorporates JavaFX 19 wich brings lots of improvements, so you benefit from all these release highlights.
This tweet shows a video of a bugfix on macOS where copy&paste often resulted in entries doubled after paste. A new preference setting “alternative paste behavior for text input” is available on macOS and is enabled by default.
Devoxx Belgium (10-14 October) thanks Gluon in a tweet for their continued support for the #OSS Devoxx mobile app. Sources of the DevoxxBadges JavaFX app are available on GitHub.
The tweet wall was a crucial part of the information exchange between the visitors of Devoxx, showing the upcoming talks, highest ranked talks, etc. This tweet wall is a community effort driven by @jugbodensee members, with the support of Gluon, and the sources are on GitHub.
Johan Vos shared a picture in a tweet.
By the way (1), TweetwallFX has its own Twitter account @TweetwallFX.
By the way (2), the official “Devoxx” mobile app is also a JavaFX project, created by Gluon, that you can find on GitHub. Check the GitHub workflows to learn more about how it is building and publishing to the Google and Apple stores.
Various news from “The Web”
Dirk Lemmermann announced in a tweet version 11.12.1 of CalendarFX with new views for displaying resource allocations, improved editing behaviour, plenty of fixes and enhancements. You can find it on GitHub, and new link for the documentation is here.
Dirk also added a new custom control to GemsFX for displaying screens and windows of a JavaFX application, inspired by MacOS. For a screenshot, check this tweet and a demo is available on YouTube.
He also announced release 11.12.2 of CalendarFX with various bug fixes related to time zones and recurring entries.
And he shared this video showing a custom JavaFX control that can be used to display groups of notifications either expanded or as a stack, inspired by the MacOS notification center. However, plenty of customisation options via API or CSS are available to make this control fit into any application.
Robert Ladstätter wanted to use JavaFX on a Windows aarch64 (virtual) machine, and described the process to build it from the sources.
Almas Baim shared a video in a tweet showing a bridge generated with FXGL (game engine) to illustrate a distance joint (which constrains two entities to preserve their distance to each other) that produces some interesting results. Entities with different densities are thrown at it and fly through the screen using physics.
Related to FXGL: the book “Learn JavaFX Game and App Development with FXGL 17” by Almas Baim got reviewed by Frank Delporte, read it on foojay.io.
OrangoMango shared a project to visualize and solve a Rubik’s Cube with JavaFX, that is also available as an Android APK. It’s inspired by a similar example created by Gluon.
Abhinay Agarwal shared a few very interesting JavaFX links:
edencoding.com has the “Most vibrant collection of JavaFX articles I have come across recently. Kudos to Ed Eden-Rump AKA NerdyEden.”
A list created by Abhinay himself with all the flags that might help you while debugging a JavaFX application on “Flags for JavaFX application”
Robert Ladstätter shared a HelloWorld example project on GitHub to show how to install a JavaFX app with a Windows Installer using Advanced Installer.
Frank Delporte spoke on Devoxx in Antwerp about Pi4J and showed a JavaFX application running on a Raspberry Pi showing sensor data with the TilesFX library of Gerrit Grunwald: recording of the presentation on YouTube and links used in the presentation.
Pedro Duque Vieira added two new controls to the FXComponents library:
BlockingProgressBar: check the video example in this tweet.
ReordableListView, a ListView that can be reordered with the mouse by drag and dropping its cells and also supports drag and dropping from an outside source into a ListView cell position as you can see in the video in this Tweet.
Will Iverson updated his Java, JavaFX and Swing template for generating nice native installers for macOS, Windows and Ubuntu with a new single GitHub Action matrix script to generate all the installers w/nice human-friendly, matching version numbers.
Clemens Lanthaler released PhotoSlide 1.3 with many small updates and fixes including new version of librawfx and libheiffx and updates to JDK19/Javafx19 with better Multi-Threading again.
A new release 22.3.0 of LogoRRR – log file viewer – has been announced.
This new demo shows MediaView added to the JavaFX Media emulation, which means that WebFX can now display videos.
On September 30, Gail Anderson was speaking on IntelliJ IDEA Conference about “JavaFX for Mobile Development”. We promised here to share the link to the video when available, and here it is.
Sean Phillips shared several videos with an impressive data visualization tool.
Jakob Jenkov asked in this tweet with a lot of interesting replies: “Hi JavaFXers – do we have some JavaFX application design patterns somewhere? Advice about how to structure a #Java + #JavaFX application so the code base and application does not get messy as the app grows? I have some ideas -but I’d like to see what the rest of you have too :-)”
New content on jfx-central.com
Real World App: JabRef is an open-source, cross-platform citation and reference management tool, see jabref.org.
Tool: “Conveyor” by Hydraulic, is an alternative/replacement for the jpackage tool but with support for (background) updates, signing, notarisation.
Another library by Pedro Duque Vieira: FXParallax. This framework adds controls to add Parallax effects to JavaFX application, this effect can add a sense of depth (3D like) to where it’s used.
Coming soon… Florian Kirmaier is pimping the jfx-central website to make it much faster very soon. Due to the architecture of jpro.one, scrolling in a ScrollPane requires server calls (as the JavaFX app lives on the server). A custom skin, should bring a solution…
People: the work of Jan Gassen is listed on this page.
Library: NSMenuFX, by Jan Gassen, a simple library to customize the macOS menu bar to give your JavaFX app a more native look and feel.
Tips: Flags for JavaFX applications to either add debug logs or switch configuration.
Blogs: abhinay.xyz by Abhinay Agarwal about things good to know about JavaFX.