State of Java Survey
The Authoritative Java Study Conducted by the Only Vendor 100% Focused on Java
Thanks to the Devoxx conference, there are many hours you can spend on JavaFX-related videos!
But as every month, there is a lot more to read and learn about JavaFX…
Have fun with this overview of the “JavaFX LinksOfTheWeek” that got published on jfx-central.com during October.
Last month Java and JavaFX 21 were released. And Johan Vos already had an update: “JavaFX 22-ea+11 has just been released to maven central (and on gluonhq.com/products/javafx). This contains the much anticipated memory improvements :)”
“This contains a major change in some CSS processing, see this commit by John Hendrikx, that leads to improved performance (less GC). Please test and evaluate.”
Kevin Rushforth and Johan Vos had a BOF at Devoxx in Antwerp.
During this BOF, some of the new features that could be included in JavaFX 22 were presented:
(unlikely) CSS theming
Feedback was asked from the users regarding blocking issues in JavaFX itself to be able to build more amazing stuff:
Removal of remaining AWT dependencies.
Full integration with the desktop (alerts, dark/light,…).
Missing 3D point and line drawing methods.
Version 21 is now available!
Refactored: Clean up DocumentWatchingController
Uses JDK and JavaFX 21
Scene Builder 21.0.1 RC1 is available for testing.
At Devoxx we got blown away by the demos given by Florian Enner to visualize robot arms and interact with them. He wasn’t a speaker at the conference, but we sure hope he will be next year or on any other conference. Make sure to check out of few of his videos…
JavaFX w/ GraalVM native image (Windows): a desktop application with charts and controls, but a robot simulated in 3D.
JavaFX: migrating to AtlantaFX themes: migrating from a custom JavaFX design to AtlantaFX themes. And even more 3D robots and charts!!!
JavaFX 3D: Dynamic CubeWorld: 3D cubes, a loooooot of cubes…
And these are all his YouTube videos.
The Hero app by Pedro Duque Vieira has an alert/error system where the button will show as filled whenever there’s an error/alert: “This immediately warns u in a subtle way that u may have things to fix. After you’ve fixed everything the alert button shows up empty.”
He also shared more info and a video about Visual Styles in HERO: “It allows the user to see properties of his CAD project quickly, at a glance.”
RNArtist has been updated, mainly to run on Windows. Releases 1.0.8 and 1.0.9 are available (just restart RNArtist). 1.0.9 will just increase the maximum memory to be used (needed for Windows).
Nice new screenshot by RNArtist showing: “Insight into a random RNA 2D with a size of 1kb and a pairing density of 60%. Bracket notation with colored helices in the lower part. Simple rendering of the 2D plot in the upper part.”.
Here you can find a picture to summarize the new workflow that will be in RNArtist 1.1.0.
And he shared a blog post: Visualize experimental data on your RNA 2D.
Clemens Lanthaler release V1.3.3 of Photoslide, a simple photo management application with a modern and reactive user interface. This version brings updates to JavaFX 21/JDK21 and fixes to the filter module: “Thanks to FXGL examples the filters are now realtime and therefore I can now start implementing more filters and the edit module”.
Tobias Briones is working on Building Slides from Screenshots App in JavaFX: “A great title where I granularly blogged the development of a powerful JavaFX desktop app”.
GZYangKui has spent some time optimizing the audio and video output of his Nintendo-like game: “The results were quite satisfactory”.
And shared a few retro game videos:
The taste of childhood….
Successfully supported the Nintendo MMC3 cardridge.
Alessio Vinerbi is making a trash game.
Almas Baim shared a video after a “fruitful discussion with game dev students on how to improve the UI. Check out the new health and weapon indicators around the player. Now there is no need to look elsewhere to get this info.”
Components, Libraries, Tools
A new library announcement by Pedro Duque Vieira, FXThemes: “It is a Java library that contains classes to help in advanced JavaFX theme development. Right now, it contains helper classes to change the appearance of a native window frame as well as the backdrop of JavaFX native Windows.” The announcement page also contains more info about the reason of providing this functionality in a new library.
True Dark Mode on Windows10 will be available soon in a new release of FXThemes: “Win10 is the most used Windows version (Windows being the most used OS). This was a pain to implement. Native code is different from win11. On win10 this API is undocumented.”
Early access version of a TreeNodeView with many configuration options (added by LeeWyatt)
Gives you controls / pickers for: choosing a date, choosing a date range, choosing a month, choosing a year, choosing a time, choosing a duration.
See the DateRangePicker control in action here.
JPro announced version 2023.3.0: JavaFX 21 is used by default, and many more improvements!
And version 2023.3.1 with a critical bugfix to handle bot traffic better, and a new feature regarding MimeTypes.
Podcast, Video, Books
Robert von Burg and Frank Delporte had some fun during a live video stream with LED strips and a JavaFX UI.
Presentations at Devoxx in Antwerpen, Belgium:
Remark by Chad Preisler: “JavaFX Notebook would attract the scientific community to Java, because if you’re crunching large amounts of data there is nothing faster than JavaFX and Java, and scientists are usually not programmers. This needs to be easily extendable.”
Quantum Computing in Java: an exceptionential opportunity
Explainable AI Analysis Visualization: Applications from Brain Computer Interfaces to ChatGPT.
In between sessions, he updated the dev branch for of his XAI tool Trinity to support audio file processing, playback and spectrum analysis in 3D.
JSol’Ex : solar image processing written in Java.
Paul and Gail Anderson:
Say the Words: Modern Java with JavaFX and GraalVM for Rich Client UIs.
Thanos Stratikopoulos: TornadoVM: Write once, run everywhere everywhere!. He demonstrates an impressive performance boost with a JavaFX ray tracer using the GPU. Sources of the demo are available on github.com/Vinhixus/TornadoVM-Ray-Tracer.
Nicolai Parlog published the second half of his video report of Devoxx Belgium, including an interview with Kevin Rushforth about GUI development with Java.
Please keep an eye on Edward Nyirenda Jr‘s website as he keeps on giving! For instance, “JavaFX with Gradle” was published this month.
Pedro Duque Vieira shares a video to illustrate that a JavaFX scene graph can handle a lot of nodes: “The view on the left is using retained mode rendering. There are more than 1k nodes visible at a time and yet without major optimizations it runs fine. Tip: No need to rush to a Canvas implementation (immediate mode).”
Impressive 3D results by OrangoMango, considering he is running it on a Raspberry Pi: “If I render the triangles, the application runs at 5 fps.”.
Homebookner shared a link to an interesting project by Sheikah45: FX2J – FXML to Java Builder: a post-processor that converts fxml files into Java builder source files.
Christopher Schnick reported some issues on new gnome-based desktops, e.g. on Ubuntu 23: “For the JavaFX devs who use the system tray, note that there are various GTK issues. If you are using FXTrayIcon, your app will freeze.”
Transit Theme: builds upon the lessons and my work with JMetro.
FXThemes: classes to help in advanced theme development.
Trinity: Explainable AI analysis tool and 3D visualization) by Sean Phillips.
We already mentioned a few times the tutorials by Edward Nyirenda Jr in these Links Of The Week. You can find them now in the tutorial-section.
The summary with all the JFX Central links of September got published on Foojay.io.
Dirk Lemmermann shared a screenshot that shows the very helpful menu, provided when you locally install JFX Central.
A first video by Dirk Lemmermann showing JFX Central running as an app on iOS.
Multiple tools will be available soon:
SVG Path Extractor
Effect Designer (shadows, blurs, etc…)
Pixel to EM Converter for quickly converting all your pixel values in your CSS file to em values for proper scaling.
Work is ongoing by Li Wang Yang to bring new “Learn” sections to JFX Central:
“Getting Started with JavaFX”
“JavaFX on Mobile”
“JavaFX on Raspberry Pi”
Thanks to Gail Anderson, Paul Anderson, Edward Nyirenda Jr, and Frank Delporte for sharing their tutorials!
Check the tickets to see what is happening…
#512 New main section: Learn
#312 Content for the Learn JavaFX section