February is a short month, but this list seems to be longer than ever…
A lot of game and 3D development, releases, interesting ongoing development, and so much more to read. Enjoy reading and clicking!
This is a summary of the Links Of The Week as published on jfx-central.com during February.
Kevin Rushforth of Oracle announced on the mailinglist “As a reminder, JavaFX 20 is now in Rampdown Phase Two (RDP2). Now that we are in RDP2, the goal is to stabilize what is there”. So we will soon get a new version of JavaFX being released!
Chad Preisler wants to thank all JavaFX maintainers: “The people that maintain and enhance #JavaFX are great. They fixed an issue with Mac back in December, and today when a dev got a M1 all we needed to do was update the JavaFX dependencies. Everything runs great now.”
Gluon announced public access to its JavaFX 17 builds, including 17.0.6 and subsequent versions.
With an important note regarding version compatibility: “As the development of JavaFX 20 picks up momentum, it’s important to note a key change – JavaFX 20 will require Java 17 or later.“
Johan Vos of Gluon also shared: “Gluon leverages GraalVM in Gluon Substrate, allowing JavaFX apps to be converted into native client apps for desktop, mobile and embedded.”
They announced improved sound support for iOS in Gluon Attach.
And thank Bruno Salmon for a great contribution by adding the iOSAudioService.
See the code changes in the pull request, optimised for games that may play sounds simultaneously frequently, without degrading performances.
Dave Barrett is a big fan of JavaFX + Kotlin: “it’s a match made in heaven. Kotlin gives you the tools to streamline your layout code in ways you never could in Java.”
Chad Preisler shared a 5 minute about property binding: “JavaFX makes getting data from your form controls into your model very easy.”.
Gerrit Grunwald warns about the JavaFX Canvas being really nice and fast, but “be beware of effects… Using one simple dropshadow in a GraphicsContext can really bring down performance… Just as a reminder.”
Raumzeitfalle shared an update for Scene Builder Leading Edge: preview of unofficial and features-in-progress. February 2023 brings us support to create controllers in Scala and JRuby and a Chinese translation.
WhiteWoodCity shared a lot of JavaFX news:
He found this impressive video of VFX, a JavaFX UI framework.
The sources of VFX are available on GitHub.
A video of a self-made new JavaFX UI by WhiteWoodCity.
How to use of VFX components to decorate a JavaFX application with a link to video and sources.
A video of a nice JavaFX UI.
In the previous edition of this list, a link was included to Matt Coley sharing his wish-list to extend RichText. There is a GitHub issue by Andy Goryachev of Oracle asking for “Any missing APIs in JavaFX which are needed for RichTextFX” to gather feedback.
Sean Phillips spotted a JavaFX user interface on a transparent Science- Fiction-like screen.
Frank Delporte shared it is still a long way to go, but Lottie4J can now read both fixed and animated beziers. It includes a screenshot of the very first result of a loaded animation with colors, strokes, fills… being the next step.
And shared a link to an article why it could become important to have a JavaFX implementation of LottieFiles: “4.7 Million Motion Graphics Designers and Developers Turn to Lottie for Efficient Animation Workflow.”
Lottie4J is making small progress in bringing LottieFiles animations to JavaFX with a first correctly colored stroke width and color.
Dirk Lemmermann created a new project on GitHub called LayoutFX and would like to use it to collect interesting layout solutions for JavaFX. If you have any custom panes with fancy approaches to laying out scene graph nodes and would like to contribute, then please feel free to add it.
And he’s adding a custom control to GemsFX that allows to horizontally position and scroll multiple cells based on an items list. The control fades out to the left and right.
He also spotted JavaFX in the wild, in the online presence of an office supplies company, running in the browser via Jpro.
Frank Greco plans to create a JavaFX ChatGPT application this weekend.
The first alpha of X-Pipe, a new remote connection tool created with Java(FX).
Alessio Vinerbi shared a video showing the interaction between his visual modeler and FXML.
JabRef now has a dark theme created by Joel Maximilian Mai.
trinaryoperator created a JavaFX version of WinDirStat to do a cleanup of some directories. In the future it will have actual tools to help hard drive clean-up.
Chad Preisler built a very basic Kafka topic viewer and shared a 7-minute video with a link to the source code in the video description.
And he is practising his “summing skills”.
Shared a video of a fishing game made with FXGL shared on YouTube. Does anyone know the creator?
He also shared a quick 20 LoC prototype with absolutely horrible UX. However, it shows with a bit of refinement here and there, you could totally build yet another Minecraft clone.
Jhonny Göransson managed to mix JavaFX nodes with raw OpenGL calls from native cpp via drift-fx.
ParrotMan shared a project created 2 years ago: “I made the soundtracks, pixel art sprites, and almost all of the underlying systems from scratch. It looks janky as heck but it was a worthwhile learning experience.”
GZYanKui share a video with a game.
We’re looking forward to the blogpost Gerrit Grunwald will write on how to run a JavaFX application on iOS using Gluon with his sample application will JArkanoid.
He spent a weekend with some JArkanoid coding.
And finished JArkanoid levels 4 – 7.
And will build it with GitHub Actions.
Implemented the last levels missing in JArkanoid.. It now has all 32 levels of the original except the very last level. You can download the sources and builds for various systems from GitHub.
And he thanks José Pereda from Gluon to help him to get sound working on iPhone.
You can also run JArkanoid on Raspberry Pi.
Gerrit thanks Gluon to make porting to mobile sooooooo easy.
WebFX announced a web version that can be played online at jarkanoid.webfx.dev.
Max Rydahl Andersen created a JBang version that can be simply started with “jbang jarkanoid@maxandersen”.
And what is really impressive… it is running on a Raspberry Pi with 2GB of memory!
A rotating light that simulates the sun, only with matrices and vectors in a self-made 3D engine.
Improved shadows and performance by adding cache (video), in a self-made 3D engine from scratch.
Experimenting with chess pieces with his 3D engine.
Adam Bien talked in his podcast with Karol Harezlak briefly about JavaFX.
Not directly JavaFX related, but nice to know… Heinz Kabutz shared graphs showing that a lot of the work in recent Java versions was to stabilize and improve the platform, rather than just adding hundreds of new classes. The number of lines of code might even decrease in the future.
The research team of Almas Baim completed basic initialization and setup steps for UI and robot interaction. The hype is real at the Robotics AI Lab.
3.2.0 of KeenWrite by Dave Jarvis, a free, open-source, cross-platform desktop Markdown editor that can produce beautifully typeset PDFs.
2.2.1 of KeenType used in KeenWrite with modernized DANTE e.V.’s Java-based NTS system for rendering TeX.
3.11 of binjr, a standalone time series browser that renders data produced by other applications as dynamically editable views and provides advanced features to navigate the data smoothly and efficiently.
5, 5.0.1 and 5.0.2 of PDFsam a powerful and professional PDF editor.
v2.1.4 of FXGraphics2D by David Gilbert. This enables drawing on the JavaFX Canvas using the Java2D APIs. The update includes great contributions from Laurent Bourges to fix clipping issues and boost performance!
New content on jfx-central.com:
Company added: Intechcore