<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>JavaFX on foojay.io - Friends of OpenJDK</title><link>https://foojayio.github.io/website/today/category/javafx/</link><description>Recent content in JavaFX on foojay.io - Friends of OpenJDK</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Fri, 31 Jul 2026 16:18:46 +0000</lastBuildDate><atom:link href="https://foojayio.github.io/website/today/category/javafx/index.xml" rel="self" type="application/rss+xml"/><item><title>JavaFX Links of July 2026</title><link>https://foojayio.github.io/website/today/javafx-links-of-july-2026/</link><pubDate>Fri, 31 Jul 2026 16:18:46 +0000</pubDate><guid>https://foojayio.github.io/website/today/javafx-links-of-july-2026/</guid><description>&lt;p&gt;Here are the JavaFX LinksOfTheMonth of July 2026. You can find the weekly lists on &lt;a href="https://www.jfx-central.com/links" target="_blank" rel="noopener noreferrer"&gt;jfx-central.com&lt;/a&gt;
. Did we miss anything? Is there anything you want to have included in one of the next overviews? Let us know via &lt;a href="https://foojayio.github.io/website/cdn-cgi/l/email-protection"&gt;[email protected]&lt;/a&gt;
.&lt;/p&gt;
&lt;h2 id="h2-0-core"&gt;Core&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;From the OpenJFX mailing list: &lt;a href="https://mail-archive.com/openjfx-dev@openjdk.org/msg27455.html" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Marius Hanl&lt;/strong&gt; was appointed as a new OpenJFX Reviewer&lt;/a&gt;
, as announced by &lt;strong&gt;Michael Strauß&lt;/strong&gt; on July 4, 2026. Marius has been an active contributor to the OpenJFX project, most recently submitting the &lt;a href="https://github.com/openjdk/jfx/pull/2191" target="_blank" rel="noopener noreferrer"&gt;Stylesheet/StyleClass lazy initialization PR&lt;/a&gt;
 and leading tests improvements.&lt;/li&gt;
&lt;li&gt;From the OpenJFX mailing list: &lt;strong&gt;Kevin Rushforth&lt;/strong&gt; &lt;a href="https://mail-archive.com/openjfx-dev@openjdk.org/msg27475.html" target="_blank" rel="noopener noreferrer"&gt;opened the review for the JavaFX 26.0.2 release notes&lt;/a&gt;
 for the upcoming update release (planned July 21, 2026).&lt;/li&gt;
&lt;li&gt;From the OpenJFX mailing list: &lt;a href="https://mail.openjdk.org/archives/list/openjfx-dev@openjdk.org/thread/AOVTJA6A2RICNI26PIN4SL65IB3EYOYR/" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Kevin Rushforth&lt;/strong&gt; announced that JavaFX 27 is now in Rampdown Phase One (RDP1)&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;We have forked a new jfx27 branch for stabilizing the JavaFX 27 release. The master branch of the jfx repo is now open for jfx28, and the jfx27 branch is open for integrating fixes that meet the RDP1 criteria.&lt;/em&gt; &amp;quot; New stabilization branch: &lt;a href="https://github.com/openjdk/jfx/tree/jfx27" target="_blank" rel="noopener noreferrer"&gt;github.com/openjdk/jfx/tree/jfx27&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;Early-Access Builds of JavaFX 27 (to be released in September) are available on &lt;a href="https://jdk.java.net/javafx27/" target="_blank" rel="noopener noreferrer"&gt;jdk.java.net/javafx27&lt;/a&gt;
 and from the &lt;a href="https://gluonhq.com/products/javafx/#downloads" target="_blank" rel="noopener noreferrer"&gt;Gluon website&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;Both JavaFX 26 and 27 need at least JDK 24 to run.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://mastodon.social/@johanvos/116959466935866723" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Johan Vos&lt;/strong&gt; announced&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;Gluon&amp;rsquo;s JavaFX CPU builds for JavaFX 17/21/25/26 are available now.&lt;/em&gt; &amp;quot; All details and download links are available in the post &lt;a href="https://gluonhq.com/news/2026-07-21-july-2026-critical-patch-update/" target="_blank" rel="noopener noreferrer"&gt;July 2026 Critical Patch Update: Essential Security and Stability Fixes for OpenJFX&lt;/a&gt;
.
&lt;ul&gt;
&lt;li&gt;With a &lt;a href="https://mastodon.social/@johanvos/116963618524653211" target="_blank" rel="noopener noreferrer"&gt;follow-up message&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;Important: we (Gluon) provide all those builds (with CPU patches) for free. We love JavaFX and the community, but it&amp;rsquo;s a fair amount of work to do this. If you benefit from these builds, you may consider supporting us by bying LTS subscriptions (even if you can download them for free), contacting us for T&amp;amp;M work, and/or spreading this news. Thanks for keeping JavaFX a community effort.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;New builds of JavaFX are also available from &lt;a href="https://jdk.java.net/javafx26/" target="_blank" rel="noopener noreferrer"&gt;jdk.java.net/javafx26&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;Fixes and more info are also available in the &lt;a href="https://docs.azul.com/core/release-notes#openjfx-fixes-enhancements" target="_blank" rel="noopener noreferrer"&gt;Azul Core quarterly update release notes&lt;/a&gt;
.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-1-applications"&gt;Applications&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://mastodon.online/@cryptomator/116834045668158756" target="_blank" rel="noopener noreferrer"&gt;Cryptomator Desktop 1.19.3 is available&lt;/a&gt;
 and includes JavaFX 25.0.3 for improved graphics handling and simplifies Windows file signing. &amp;ldquo;&lt;em&gt;&lt;a href="https://cryptomator.org/" target="_blank" rel="noopener noreferrer"&gt;Cryptomator&lt;/a&gt;
 secures and encrypts your sensitive data in your favorite cloud service. So you can rest assured that only you can access your data.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://bsky.app/profile/rgiskard7.bsky.social/post/3mpeoz2ahns2u" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Eduardo Díaz Sánchez&lt;/strong&gt; announced Jylos 2.2.0&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;The biggest addition is a full Obsidian-compatible Canvas editor. &lt;a href="https://github.com/RGiskard7/jylos/releases/tag/v2.2.0" target="_blank" rel="noopener noreferrer"&gt;This release&lt;/a&gt;
 also adds note transclusion, rich links, CSS snippets and a redesigned private notes system.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://bsky.app/profile/did:plc:jx7h5s74cqipmtc7zrb5224m/post/3mq6xaeph7c2p" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Frank Delporte&lt;/strong&gt; announced a new release of MelodyMatrix&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;Looking at MIDI music is now possible in multiple languages with release 1.1.0 of MelodyMatrix. And the &lt;a href="https://melodymatrix.rocks/" target="_blank" rel="noopener noreferrer"&gt;website got totally reworked&lt;/a&gt;
, is more flashy now, and also available in multiple languages. More updates coming soon&amp;hellip;&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://webtechie.be/post/a-new-website-for-melodymatrix-and-whats-new-in-release-1.1.0/" target="_blank" rel="noopener noreferrer"&gt;Blog post by &lt;strong&gt;Frank Delporte&lt;/strong&gt; related to the release of MelodyMatrix 1.1.0&lt;/a&gt;
 last week: &amp;ldquo;&lt;em&gt;Last week was busy for MelodyMatrix . The website got rebuilt from the ground up, and the app itself got a solid release with a handful of new features.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://bsky.app/profile/rgiskard7.bsky.social/post/3mqrooiiask2k" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;RGiskard7&lt;/strong&gt; announced Jylos 2.4.6&lt;/a&gt;
, the local-first knowledge management app with Markdown notes: &amp;ldquo;&lt;em&gt;The app is much more polished: better Canvas support, cleaner themes, improved PDFs, vault switching without restart, GitHub update checks and smoother Markdown workflows.&lt;/em&gt; &amp;quot; Check the &lt;a href="https://github.com/RGiskard7/jylos/releases/tag/v2.4.6" target="_blank" rel="noopener noreferrer"&gt;release notes on GitHub&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.reddit.com/r/java/comments/1va4vsm/jextractgui_a_javafx_gui_wrapper_for_the_jextract/" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;nlisker&lt;/strong&gt; shared on Reddit&lt;/a&gt;
: jextractGUI - A JavaFX GUI wrapper for the jextract tool. &amp;ldquo;&lt;em&gt;It&amp;rsquo;s written in JavaFX and embeds jextract (and its libclang) within it. Since jextract is in early-access, newer versions broke it and I needed to do some rewrites since I first conjured it a couple of years ago. It&amp;rsquo;s now aligned with the current latest build - 25-jextract+2-4 (2025/11/25).&lt;/em&gt; &amp;quot; Project is &lt;a href="https://github.com/nlisker/jextractGUI" target="_blank" rel="noopener noreferrer"&gt;available on GitHub&lt;/a&gt;
.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-2-games"&gt;Games&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://dev.to/nice_application1_812753/daybreak-protocol-june-solstice-game-jam-submission-11fl" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Nice Application 1 (Udit)&lt;/strong&gt; submitted Daybreak Protocol to the DEV June Solstice Game Jam&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;A short, replayable JavaFX code-breaking game where daylight is both the player&amp;rsquo;s timer and reward. Repair six symbolic Bombe relays by solving puzzles based on Caesar shifts, XOR logic, run-length encoding, parity bits, contradiction elimination, and binary search. Every wrong answer visibly pushes the sun toward the horizon. The game celebrates Alan Turing&amp;rsquo;s legacy by presenting algorithms as creative tools.&lt;/em&gt; &amp;quot; Source code on &lt;a href="https://github.com/Nice-AU/Daybreak-Protocol" target="_blank" rel="noopener noreferrer"&gt;GitHub&lt;/a&gt;
.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-3-components-libraries-tools"&gt;Components, Libraries, Tools&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://webtechie.be/post/closing-the-visual-gap-between-the-official-lottie-webplayer-and-lottie4j/" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Frank Delporte&lt;/strong&gt; blogged about a big rendering upgrade for Lottie4J&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;My goal was to make the JavaFX output match the official LottieFiles web player as closely as possible, pixel for pixel. &amp;hellip; After the improvements, most of the animations used in the test now hit 99.5%+ similarity with the reference!&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://foojay.social/@lottie4j/116890414437899888" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Frank Delporte&lt;/strong&gt; released Lottie4J v1.2.5&lt;/a&gt;
 with many rendering accuracy fixes: &amp;ldquo;&lt;em&gt;The JavaFX animations are now more closely aligned with the official LottieFiles web player. Most test files reach the 99,5% similarity goal.&lt;/em&gt; &amp;quot; All info &lt;a href="https://lottie4j.com/status/2026/20260709-release-1.2.5/" target="_blank" rel="noopener noreferrer"&gt;on the website&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://bsky.app/profile/dlemmermann.bsky.social/post/3mqofheob222s" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Dirk Lemmermann&lt;/strong&gt; is reworking/improving his libraries&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;I fixed a major bug in HiddenSidesPane that prevented proper layout passes for children nodes. To get the fix start using the implementation found in GemsFX, do not use the one in ControlsFX. (btw: I moved several of my ControlsFX contributions to GemsFX in order to speed up development.)&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.reddit.com/r/JavaFX/comments/1upfocl/groovefx_dynamic_fxml_for_javafx_declarative/" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;rrangelox&lt;/strong&gt; published GrooveFX&lt;/a&gt;
: Dynamic FXML for JavaFX, declarative iteration, conditionals and branching. &amp;ldquo;&lt;em&gt;I&amp;rsquo;m releasing GrooveFX, a small library that extends JavaFX FXML with declarative control structures: iteration, conditional rendering, and multi‑case branching directly inside FXML. The idea is simple: FXML is powerful but static &amp;mdash; GrooveFX adds flow without replacing it and without introducing a DSL.&lt;/em&gt; &amp;quot; Check the &lt;a href="https://codeberg.org/rrangelo/groovefx" target="_blank" rel="noopener noreferrer"&gt;Codeberg repository&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Frank Delporte&lt;/strong&gt; announced a new JavaFX library: Sheetmusic4J, an open-source Java library that parses MusicXML into Java objects and renders them as native JavaFX music sheet views. No WebView, no browser engine, no JavaScript bridge.
&lt;ul&gt;
&lt;li&gt;Website: &lt;a href="https://sheetmusic4j.com" target="_blank" rel="noopener noreferrer"&gt;sheetmusic4j.com&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Source code: &lt;a href="https://github.com/sheetmusic4j/sheetmusic4j" target="_blank" rel="noopener noreferrer"&gt;github.com/sheetmusic4j/sheetmusic4j&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Blog post and video with more info about the project &lt;a href="https://webtechie.be/post/introducing-sheetmusic4j-a-javafx-library-to-render-and-interact-with-sheet-music/" target="_blank" rel="noopener noreferrer"&gt;on webtechie.be&lt;/a&gt;
.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://webtechie.be/post/sheetmusic4j-0.0.3-when-linkedin-comments-becomes-features/" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Frank Delporte&lt;/strong&gt; blogged about Sheetmusic4J 0.0.3&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;I released 0.0.1 as an open question: does anyone want a native Java(FX) sheet music library? Multiple LinkedIn comments, and some are answered now with support for ABC notation and Guitar Pro. Plus a big round of engraving improvements.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Eliezer Assunção De Paulo&lt;/strong&gt; &lt;a href="https://www.reddit.com/r/JavaFX/comments/1v8j29r/megalodonte_a_small_reactive_ui_framework_on_top/" target="_blank" rel="noopener noreferrer"&gt;announced Megalodonte&lt;/a&gt;
, a small reactive UI framework on top of JavaFX. &amp;ldquo;&lt;em&gt;I&amp;rsquo;ve been building JavaFX desktop apps for a while and got tired of the usual boilerplate (manual listeners, imperative styling, no real component model), so I built Megalodonte: a thin reactive layer on top of JavaFX &amp;mdash; React-ish component composition, State /ComputedState for reactivity, and a Props/Theme system so styling isn&amp;rsquo;t scattered setStyle() calls everywhere.&lt;/em&gt; &amp;quot; The project is &lt;a href="https://github.com/eliezer-dev-software-enginner/megalodonte-libs" target="_blank" rel="noopener noreferrer"&gt;available on GitHub&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://bsky.app/profile/dlemmermann.bsky.social/post/3mrmm435rt22t" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Dirk Lemmermann&lt;/strong&gt; shared&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;GemsFX 4.3.2 is out now with fixes for the PopOver control, with i18n resource bundles, and accessibility support. I was always too lazy for the last two things but with AI that has become a no-brainer &amp;hellip; literally &amp;hellip;. &amp;ldquo;no brain required&amp;rdquo;.&lt;/em&gt; &amp;quot; Check the project &lt;a href="https://github.com/dlsc-software-consulting-gmbh/GemsFX" target="_blank" rel="noopener noreferrer"&gt;on GitHub&lt;/a&gt;
.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-4-podcasts-videos-books"&gt;Podcasts, Videos, Books&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Helal Anwar&lt;/strong&gt; published a new &lt;a href="https://www.youtube.com/watch?v=XiHcp-WseBE" target="_blank" rel="noopener noreferrer"&gt;video with the progress he made in his student management app&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://bsky.app/profile/cupofcode.bsky.social/post/3mqadlpurrc2y" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Austin Lehman&lt;/strong&gt; announced&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;Aussom CLI 1.2.0 is now available for download along the first free &lt;a href="https://aussom-lang.com/books" target="_blank" rel="noopener noreferrer"&gt;PDF book &amp;lsquo;Building Desktop Applications in Aussom with JavaFX&amp;rsquo;&lt;/a&gt;
!&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://bsky.app/profile/rabauer.dev/post/3mqyzcln42w24" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Johannes Rabauer&lt;/strong&gt; shared a video&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;If you are interested in playing around with midi devices and files, check out melodymatrix.rocks. It&amp;rsquo;s free and quite fun 🙂 &lt;strong&gt;Frank Delporte&lt;/strong&gt; built this with his son, which is such a great idea on it&amp;rsquo;s own! #JavaFX #MIDI #Piano&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-5-miscellaneous"&gt;Miscellaneous&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.reddit.com/r/scala/comments/1usp835/kyojfx_hello_world_template/" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;markehammons&lt;/strong&gt; shared &amp;ldquo;Kyo-JFX Hello World template&amp;rdquo; on Reddit&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;I was asked in another thread if I could provide an example of this, so &lt;a href="https://codeberg.org/markhammons/kyo-jfx-hello-world" target="_blank" rel="noopener noreferrer"&gt;here it is&lt;/a&gt;
. This template is a hello world app using JavaFx + Kyo + Scala 3. It uses Gluon substrate as well as a Gluon fork of GraalVM to create native image builds that can run on Linux and Android.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;Keep an eye on the messages by &lt;a href="https://bsky.app/profile/cupofcode.bsky.social" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Austin Lehman&lt;/strong&gt; on Bluesky&lt;/a&gt;
 as he is sharing more info about the Aussom Programming Language, new releases, his book about Aussom, and scripts he is using to create documentation.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-6-jfx-central"&gt;JFX Central&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;New content on JFX Central:
&lt;ul&gt;
&lt;li&gt;Library: &lt;a href="https://www.jfx-central.com/libraries/sheetmusic4j" target="_blank" rel="noopener noreferrer"&gt;Sheetmusic4J&lt;/a&gt;
, a Java library to parse MusicXML and render sheet music natively in JavaFX.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;The JavaFX Links Of The Week of June got &lt;a href="https://foojayio.github.io/website/today/javafx-links-of-june-2026/"&gt;bundled and published on Foojay.io&lt;/a&gt;
.&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Introducing Sheetmusic4J, a Java(FX) Library to Render and Interact with Sheet Music</title><link>https://foojayio.github.io/website/today/introducing-sheetmusic4j-a-javafx-library-to-render-and-interact-with-sheet-music/</link><pubDate>Thu, 30 Jul 2026 07:28:00 +0000</pubDate><guid>https://foojayio.github.io/website/today/introducing-sheetmusic4j-a-javafx-library-to-render-and-interact-with-sheet-music/</guid><description>&lt;p&gt;I&amp;rsquo;m building &lt;a href="https://melodymatrix.rocks/" target="_blank" rel="noopener noreferrer"&gt;MelodyMatrix&lt;/a&gt;
 with my son, an application to look at and play along with music. The app already shows a song in different views: falling blocks, chords, guitar views, and many more. Now we want a Learn section, a view that helps someone practice piano by following the actual sheet music while it plays.
&lt;img src="https://foojayio.github.io/website/today/introducing-sheetmusic4j-a-javafx-library-to-render-and-interact-with-sheet-music/screenshot-melodymatrix-1024x641.png" alt="" loading="lazy"&gt;
&lt;/p&gt;
&lt;p&gt;A static PDF of the sheet doesn&amp;rsquo;t work for that. Great PDF viewer components exist for JavaFX, but a PDF has no connection to what&amp;rsquo;s playing. Nothing highlights the current note, nothing marks the current position in the song. I looked for a JavaFX library that renders sheet music and lets code interact with it: jump to a position, highlight a note, follow playback. I couldn&amp;rsquo;t find one, so I built it.&lt;/p&gt;</description></item><item><title>Closing the Visual Gap Between the Official Lottie Webplayer and Lottie4J</title><link>https://foojayio.github.io/website/today/closing-the-visual-gap-between-the-official-lottie-webplayer-and-lottie4j/</link><pubDate>Tue, 07 Jul 2026 08:25:55 +0000</pubDate><guid>https://foojayio.github.io/website/today/closing-the-visual-gap-between-the-official-lottie-webplayer-and-lottie4j/</guid><description>&lt;p&gt;A Lottie library is only as good as its output looks. If an animation renders differently in &lt;a href="https://lottie4j.com/" target="_blank" rel="noopener noreferrer"&gt;Lottie4J&lt;/a&gt;
 than it does in the official web player, that&amp;rsquo;s a bug, even when no exception is thrown and the code looks correct.&lt;/p&gt;
&lt;p&gt;Within the &lt;code&gt;fxfileviewer&lt;/code&gt;, there is an app to visually compare the result of the JavaFX player and a webview using the official JavaScript player. Problem is that I was using the JavaFX Web component for this and this doesn&amp;rsquo;t fully support the latest/best version of this player. Based on this app for manual checks, I also created a unit test which is able to loop over a set of files and compare the differences to make sure changes in the code don&amp;rsquo;t break the existing renderer. But I kept struggling with the same test file &lt;a href="https://github.com/lottie4j/lottie4j/tree/main/fxfileviewer/src/test/resources/json/interactive_mood_selector_ui.json" target="_blank" rel="noopener noreferrer"&gt;interactive_mood_selector_ui.json&lt;/a&gt;
 which didn&amp;rsquo;t render correctly, both in the JavaFX view and my web-based view to compare it with.&lt;/p&gt;</description></item><item><title>JavaFX Links of June 2026</title><link>https://foojayio.github.io/website/today/javafx-links-of-june-2026/</link><pubDate>Tue, 30 Jun 2026 07:23:31 +0000</pubDate><guid>https://foojayio.github.io/website/today/javafx-links-of-june-2026/</guid><description>&lt;p&gt;Here are the JavaFX LinksOfTheMonth of June 2026. You can find the weekly lists on &lt;a href="https://www.jfx-central.com/links" target="_blank" rel="noopener noreferrer"&gt;jfx-central.com&lt;/a&gt;
. Did we miss anything? Is there anything you want to have included in one of the next overviews? Let us know via &lt;a href="https://foojayio.github.io/website/cdn-cgi/l/email-protection"&gt;[email protected]&lt;/a&gt;
.&lt;/p&gt;
&lt;h2 id="h2-0-core"&gt;Core&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://bsky.app/profile/johanvos.bsky.social/post/3mnans5s67c2u" target="_blank" rel="noopener noreferrer"&gt;Message by &lt;strong&gt;Johan Vos&lt;/strong&gt;&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;I&amp;rsquo;ve spent most of today (and the past few days) on JavaFX 17/21/25 LTS. It&amp;rsquo;s a lot of work, but almost a pleasure because the tools/procedures are so clear. Skara is extremely helpful with backports. And it&amp;rsquo;s deterministic. JavaFX is very well maintained.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;From the dev mailinglist: &lt;a href="https://github.com/openjdk/jfx/commit/738be0f10f8dbbbe182aa3d06ee86313fa181bb1" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Michael Strauß&lt;/strong&gt; integrated JDK-8385459&lt;/a&gt;
 in &lt;a href="https://github.com/openjdk/jfx/pull/2177" target="_blank" rel="noopener noreferrer"&gt;PR #2177&lt;/a&gt;
: Animations should respect reducedMotion preference: &amp;ldquo;&lt;em&gt;Several JavaFX controls use animations to convey state changes, but none respected the reducedMotion accessibility preference. This change makes TableRowSkinBase, TitledPaneSkin, TabPaneSkin, PaginationSkin, and Charts honor Scene.Preferences.reducedMotion.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;Apparently, the JFX Adopters Meeting 2026 led to a pull request by &lt;strong&gt;Marius Hanl&lt;/strong&gt; in the OpenJFX repository: &lt;a href="https://github.com/openjdk/jfx/pull/2191" target="_blank" rel="noopener noreferrer"&gt;8386663: Stylesheet/StyleClass list should be lazily initialized&lt;/a&gt;
. Thanks, &lt;a href="https://mastodon.acm.org/@koppor/116810873255149882" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Oliver Kopp&lt;/strong&gt; for sharing this info&lt;/a&gt;
.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-1-applications"&gt;Applications&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Video by &lt;a href="https://bsky.app/profile/ingstudios.dev/post/3mncdhcnbds2f" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Ethan Lee&lt;/strong&gt;&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;I Built My Own Agentic AI Browser &lt;a href="https://turtlebrowse.ingstudios.dev/" target="_blank" rel="noopener noreferrer"&gt;Turtlebrowse&lt;/a&gt;
 now with Java CEF, Swing, and embedded JavaFX components. &lt;a href="https://www.youtube.com/watch?v=WzU8Cnl3kE0" target="_blank" rel="noopener noreferrer"&gt;Go watch it on YouTube&lt;/a&gt;
.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://bsky.app/profile/ingstudios.dev/post/3mondjccunc2o" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Ethan Lee&lt;/strong&gt; released Turtlebrowse v1.1.1&lt;/a&gt;
, the open-source browser built to be agentic: &amp;ldquo;&lt;em&gt;This brings features like a multi-process architecture and custom profiles. It also brings patches for internal API errors. It uses Gemma4 under the hood, perfect for everyday tasks. Get it at &lt;a href="https://turtlebrowse.ingstudios.dev/" target="_blank" rel="noopener noreferrer"&gt;turtlebrowse.ingstudios.dev&lt;/a&gt;
!&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.reddit.com/r/java/comments/1u10ble/created_a_simple_minimal_canvas_application_in/" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Gufran Thakur&lt;/strong&gt; created a simple, minimal Canvas Application in JavaFX&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;After like a year finally getting back to JavaFX, decided to make an excalidraw inspired app for fun. It&amp;rsquo;s a very minimal canvas app with basic features. &lt;a href="https://github.com/gufranthakur/ExplainFX" target="_blank" rel="noopener noreferrer"&gt;Source code is on ExplainFX&lt;/a&gt;
. Features: Drawing, Create Squares and Circles, Text, Vary stroke size/font size,&amp;hellip; Please let me know if you have any questions!&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Max Xiong&lt;/strong&gt; continuous his &amp;ldquo;Building In Public&amp;rdquo; journey for his DataCollie application. &lt;a href="https://bsky.app/profile/maxiong.bsky.social/post/3mnulx7aomc2u" target="_blank" rel="noopener noreferrer"&gt;Follow him on Bluesky for regular updates and screenshots&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;Tonight I implemented the custom UI styling for Project context menu items.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.reddit.com/r/JavaFX/comments/1u9hfn1/dropping_a_small_pdf_viewer_for_you_guys_javafx/" target="_blank" rel="noopener noreferrer"&gt;Found on Reddit, by &lt;strong&gt;xdsswar&lt;/strong&gt;&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;Dropping a small PDF viewer for you guys (JavaFX + native PDFium). It&amp;rsquo;s done on native PDFium via Java&amp;rsquo;s FFM API (no PDFBox, no AWT). Has zoom, text selection, search, thumbnails, the usual, would love some feedback. &lt;a href="https://github.com/xdsswar/ultimate-pdf-viewer" target="_blank" rel="noopener noreferrer"&gt;Repo link&lt;/a&gt;
.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.reddit.com/r/JavaFX/comments/1u5zjpo/i_built_jylos_a_localfirst_opensource_knowledge/" target="_blank" rel="noopener noreferrer"&gt;By &lt;strong&gt;RGiskard7&lt;/strong&gt;&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;I built Jylos, a local-first open-source knowledge management app using Java and JavaFX. It started as a personal project to explore desktop application architecture, JavaFX, Markdown processing and software design. Over time it evolved into a complete application with: Markdown notes with live preview, Wiki-links and backlinks, Interactive knowledge graph,&amp;hellip; Everything is stored locally. No accounts, no cloud backend and no telemetry. The &lt;a href="https://github.com/RGiskard7/jylos" target="_blank" rel="noopener noreferrer"&gt;project is open source&lt;/a&gt;
 under the MIT license and binaries are available for Windows, Linux and macOS. I&amp;rsquo;d really appreciate any feedback, especially from JavaFX developers.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.reddit.com/r/JavaFX/comments/1ua30k4/my_first_javafx_application/" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Mechanical-pasta&lt;/strong&gt; shared his &amp;ldquo;First JavaFx Application&amp;rdquo; on Reddit&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;I tried JavaFx, and, as a support project to learn the language, I&amp;rsquo;ve decided to build my own MineSweeper but with some differences. You can find it &lt;a href="https://github.com/TargolLagadec/MineSweeperTribute" target="_blank" rel="noopener noreferrer"&gt;here if you&amp;rsquo;re interested&lt;/a&gt;
.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;In the &lt;a href="https://www.jfx-central.com/links/2026-05-29" target="_blank" rel="noopener noreferrer"&gt;Links Of The Week of 2026-05-29&lt;/a&gt;
, we shared &amp;ldquo;DiskSpace&amp;rdquo;, a cross-platform disk space visualizer by &lt;strong&gt;Marcus Hirt&lt;/strong&gt; . In the blog post &lt;a href="https://hirt.se/blog/?p=1606" target="_blank" rel="noopener noreferrer"&gt;Using GraalVM, JavaFX and a Clanker to Build a Cross Platform Desktop App&lt;/a&gt;
, he shares a lot of background information about the project, the architecture, and the build process.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-2-components-libraries-tools"&gt;Components, Libraries, Tools&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.reddit.com/r/JavaFX/comments/1tul6x8/live_property_editing_for_javafx_nodes_in_devtools/" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Striking_Creme864&lt;/strong&gt; shared a video on Reddit&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;Live property editing for JavaFX nodes in DevTools. When building JavaFX applications, we often need not only to inspect a node&amp;rsquo;s properties, but also tweak them to see how they behave. Restarting the app every time to test small changes quickly becomes a major time sink. So we added live property editing directly to the DevTools in our platform (TabShell). The property editor supports three simple forms: basic values, enums, and Insets, but this made UI debugging and iteration much faster.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://bsky.app/profile/dlemmermann.bsky.social/post/3mncofbca722s" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Dirk Lemmermann&lt;/strong&gt; shared screenshots&lt;/a&gt;
 of the new &lt;code&gt;StageStyle.EXTENDED&lt;/code&gt;: &amp;ldquo;&lt;em&gt;I recently updated the FlexGanttFX showcase application to use the new HeaderBar component and StageStyle.EXTENDED type. This results in a very clean and professional looking UI.&lt;/em&gt; &amp;quot;
&lt;ul&gt;
&lt;li&gt;You can also try it online at &lt;a href="https://demos.jpro.one/flexganttfx-showcase.html" target="_blank" rel="noopener noreferrer"&gt;demos.jpro.one/flexganttfx-showcase.html&lt;/a&gt;
 or install locally &lt;a href="https://www.jdeploy.com/~flexganttfxshowcase" target="_blank" rel="noopener noreferrer"&gt;via jdeploy&lt;/a&gt;
.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Frank Delporte&lt;/strong&gt; released &lt;a href="https://lottie4j.com/releases/index.html" target="_blank" rel="noopener noreferrer"&gt;Lottie4J 1.2.4&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;Fixed Lottie arc rendering: constrained the easing solver to prevent bezier curve divergence. Added bisection fallback for flat-point curves. Fixed full-circle trim path flickering caused by floating-point precision loss in offset wrapping. Fixed border rendering error. Added Pi4J test file.&lt;/em&gt; &amp;quot; Available on &lt;a href="https://central.sonatype.com/search?q=g:com.lottie4j" target="_blank" rel="noopener noreferrer"&gt;Maven Central&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://plugins.jetbrains.com/plugin/32337-fxml-2-for-javafx" target="_blank" rel="noopener noreferrer"&gt;FXML/2 for JavaFX&lt;/a&gt;
: IntelliJ IDE plugin for the &lt;a href="https://jfxcore.github.io/fxml-compiler/" target="_blank" rel="noopener noreferrer"&gt;FXML/2 markup format&lt;/a&gt;
, supporting syntax highlighting, folding, formatting, EditorConfig-aware indentation, tag and attribute resolution, code completion, and navigation to JavaFX classes. Presented as &amp;ldquo;FXML 2.0: Write Markup, Ship Bytecode&amp;rdquo; by &lt;strong&gt;Michael Strauß&lt;/strong&gt; at the &lt;a href="https://www.zeiss.com/meditec/en/news-events/events/jfx-adopters-meeting-2026.html" target="_blank" rel="noopener noreferrer"&gt;JFX Adopters Meeting&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Jonathan S. Fisher&lt;/strong&gt; is working on &lt;a href="https://github.com/exabrial/difx" target="_blank" rel="noopener noreferrer"&gt;DiFX, a CDI / Dependency Injection For JavaFX&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;The goal is to have CDI backed beans and events inside JavaFx Desktop Applications. I could use a few eyes/ideas before I cut an initial release and stabilize the API.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/techsenger/shellfx" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;techsenger&lt;/strong&gt; published ShellFX on GitHub&lt;/a&gt;
: a platform for building JavaFX applications using an extended MVP pattern. Part of the growing Techsenger JavaFX library ecosystem (alongside CEFFX, TabPanePro, PatternFX, StagePro, etc.).&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/int4-org/FX/releases/tag/0.6.1" target="_blank" rel="noopener noreferrer"&gt;FX Flow 0.6.1&lt;/a&gt;
 got released: declarative, fluent UI library for JavaFX. Adds validation support for atomic multi-value updates. More info by &lt;strong&gt;john16384&lt;/strong&gt; on &lt;a href="https://www.reddit.com/r/JavaFX/comments/1uf8l0h/fx_flow_061_released_declarative_ui_building_for/" target="_blank" rel="noopener noreferrer"&gt;Reddit/r/JavaFX&lt;/a&gt;
.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-3-podcasts-videos-books"&gt;Podcasts, Videos, Books&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://webtechie.be/post/2026-06-04-interview-with-naail-from-lottiefiles/" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Frank Delporte&lt;/strong&gt; published a blog and video&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;Lottie4J started as a single question: can JavaFX render Lottie animations without a WebView? That question turned into a library. The library attracted pull requests. And now I had a 50-minute conversation with &lt;strong&gt;Naail Abdul Rahman&lt;/strong&gt;, R&amp;amp;D engineer at LottieFiles, to talk about where the format is heading and what that means for a Java implementation.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.linkedin.com/posts/pedro-duque-vieira-2644038_healthcare-healthtech-healthcareit-ugcPost-7467911189063245824-igkN/" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Pedro Duque Vieira&lt;/strong&gt; shared a video on LinkedIn&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;New capability added to the IKE Knowledge Layout Editor: display semantics can now be viewed in a table format. This provides a more structured way to inspect semantic information, which can be especially useful when working with large numbers of semantics.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;A live session of 2,5 hours with &lt;strong&gt;Johannes Rabauer&lt;/strong&gt; and &lt;strong&gt;Anton Arhipov&lt;/strong&gt; : &lt;a href="https://www.youtube.com/live/LekXCf-FJ00" target="_blank" rel="noopener noreferrer"&gt;Building a MIDI Visualizer with Junie, IntelliJ and JavaFX&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;AI assisted development is becoming a core part of modern software engineering. But what does that actually look like in a real Java project? In this live coding session, we explore AI powered development inside IntelliJ IDEA while building a JavaFX application that visualizes MIDI music through animated waveform based visualizations. Rather than treating AI as a code generator, we will use Junie and other IntelliJ AI capabilities as development partners throughout the process. Together, we&amp;rsquo;ll explore how AI can help with architecture, implementation, refactoring, testing, and day to day development decisions.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Frank Delporte&lt;/strong&gt; interviewed &lt;strong&gt;David Gutierrez&lt;/strong&gt; in a new video: &lt;a href="https://webtechie.be/post/javafx-in-action-%2327-with-david-gutierrez-about-jmathanim-to-create-mathematical-animations/" target="_blank" rel="noopener noreferrer"&gt;JavaFX In Action #27 with David Gutierrez about JMathAnim to Create Mathematical Animations&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;JMathAnim is a Java library and UI built on JavaFX that lets you create animated mathematical visualizations. The goal is simple: make it easy to build videos that explain mathematical concepts through animation. It&amp;rsquo;s inspired by the kind of content you see on YouTube channels like 3Blue1Brown.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-4-conferences-presentations"&gt;Conferences, Presentations&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;ZEISS Meditec hosted the &lt;a href="https://www.zeiss.com/meditec/en/news-events/events/jfx-adopters-meeting-2026.html" target="_blank" rel="noopener noreferrer"&gt;JFX Adopters Meeting 2026&lt;/a&gt;
 on June 16 in Munich. The full-day agenda included: &amp;ldquo;Low-Latency JavaFX: Robotics and Native Bindings&amp;rdquo; (&lt;strong&gt;Florian Enner&lt;/strong&gt; ), &amp;ldquo;JavaFX &amp;ndash; Status and Beyond&amp;rdquo; (&lt;strong&gt;Wolfgang Weigend&lt;/strong&gt; ), &amp;ldquo;JPRO &amp;ndash; the Future of Unified JavaFX Application Development across Desktop and Web&amp;rdquo; (&lt;strong&gt;Florian Kirmaier&lt;/strong&gt; ), &amp;ldquo;FXML 2.0: Write Markup, Ship Bytecode&amp;rdquo; (&lt;strong&gt;Michael Strauß&lt;/strong&gt; ), &amp;ldquo;Beyond MVC: A Practical Guide to MVVM in JavaFX&amp;rdquo; (&lt;strong&gt;Tibor Malanik&lt;/strong&gt; ), &amp;ldquo;Diagnosis in the Context of eBike Systems with JavaFX&amp;rdquo; (&lt;strong&gt;Frido Fechner&lt;/strong&gt; ), &amp;ldquo;JavaFX for Electronics Control&amp;rdquo; (&lt;strong&gt;Thorsten Stüker&lt;/strong&gt; ), &amp;ldquo;Lets Contribute Together&amp;rdquo; (&lt;strong&gt;Marius Hanl&lt;/strong&gt; ), and &amp;ldquo;Spreadsheet Calculation and Document Processing in JavaFX: Lessons from SCell and bk.text&amp;rdquo; (&lt;strong&gt;Vasily Smeltsov&lt;/strong&gt; ). Pictures shared by &lt;strong&gt;Wolfgang Weigend&lt;/strong&gt; :
&lt;ul&gt;
&lt;li&gt;&amp;ldquo;&lt;em&gt;The &lt;a href="https://bsky.app/profile/wolfgangweigend.bsky.social/post/3mofuegyfvc2n" target="_blank" rel="noopener noreferrer"&gt;official opening of the JFX Adopters Meeting 2026&lt;/a&gt;
 by &lt;strong&gt;Christian Heilmann&lt;/strong&gt; and &lt;strong&gt;Lisa&lt;/strong&gt;, both work with JavaFX at Zeiss Meditec AG.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&amp;ldquo;&lt;em&gt;The &lt;a href="https://bsky.app/profile/wolfgangweigend.bsky.social/post/3mofusejv5k2l" target="_blank" rel="noopener noreferrer"&gt;robotics session&lt;/a&gt;
 &amp;lsquo;Low-Latency JavaFX: Robotics and Native Bindings&amp;rsquo; by Florian Enner.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&amp;ldquo;&lt;em&gt;&lt;a href="https://bsky.app/profile/wolfgangweigend.bsky.social/post/3mofuzfnzes2l" target="_blank" rel="noopener noreferrer"&gt;Great welcome in the morning&lt;/a&gt;
 with &lt;strong&gt;Tom Schindl&lt;/strong&gt; , &lt;strong&gt;Stefano Negri&lt;/strong&gt; and &lt;strong&gt;Dirk Lemmermann&lt;/strong&gt; &amp;mdash; all about JavaFX applications&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://bsky.app/profile/wolfgangweigend.bsky.social/post/3mocwnoogjc2n" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Wolfgang Weigend&lt;/strong&gt;&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;Please find the session &amp;lsquo;&lt;a href="https://jugf.github.io/posts/javafx-ui-technologie-als-zentraler-baustein-im-java-okosystem-24-06-2026/" target="_blank" rel="noopener noreferrer"&gt;JavaFX UI technology as a central component of the Java ecosystem&lt;/a&gt;
&amp;rsquo; on Wednesday 24th of June 2026 at the Java User Group Frankfurt am Main in the National Library.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-5-jfx-central"&gt;JFX Central&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;New content on JFX Central:
&lt;ul&gt;
&lt;li&gt;Library: &lt;a href="https://www.jfx-central.com/libraries/svgnode" target="_blank" rel="noopener noreferrer"&gt;SvgNode&lt;/a&gt;
, a lightweight JavaFX node for rendering SVG paths at any size. Fully supports FXML, property binding, and CSS styling.&lt;/li&gt;
&lt;li&gt;Video: &lt;a href="https://www.jfx-central.com/videos/pb54youm6AM" target="_blank" rel="noopener noreferrer"&gt;JavaFX In Action with David Gutierrez about JMathAnim&lt;/a&gt;
.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;The JavaFX Links Of The Week of May got &lt;a href="https://foojayio.github.io/website/today/javafx-links-of-may-2026/"&gt;bundled and published on Foojay.io&lt;/a&gt;
.&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Lottie4J Meets LottieFiles: A Conversation with Naail Abdul Rahman</title><link>https://foojayio.github.io/website/today/lottie4j-meets-lottiefiles/</link><pubDate>Tue, 09 Jun 2026 07:31:00 +0000</pubDate><guid>https://foojayio.github.io/website/today/lottie4j-meets-lottiefiles/</guid><description>&lt;p&gt;Lottie animations run on Android, iOS, and the web. Getting them working on the JVM is a different story. &lt;a href="https://lottie4j.com" target="_blank" rel="noopener noreferrer"&gt;Lottie4J&lt;/a&gt;
 started as a question: can JavaFX render them without a WebView? That question turned into a library with a first release in March 2026! Since then, I received the first pull requests, recently added headless unit testing with JavaFX 26, and now this: a video conversation with Naail from the LottieFiles team.&lt;/p&gt;</description></item><item><title>JavaFX Links of May 2026</title><link>https://foojayio.github.io/website/today/javafx-links-of-may-2026/</link><pubDate>Sun, 31 May 2026 08:19:07 +0000</pubDate><guid>https://foojayio.github.io/website/today/javafx-links-of-may-2026/</guid><description>&lt;p&gt;Here are the JavaFX LinksOfTheMonth of May 2026. You can find the weekly lists on &lt;a href="https://www.jfx-central.com/links" target="_blank" rel="noopener noreferrer"&gt;jfx-central.com&lt;/a&gt;
. Did we miss anything? Is there anything you want to have included in one of the next overviews? Let us know via &lt;a href="https://foojayio.github.io/website/cdn-cgi/l/email-protection"&gt;[email protected]&lt;/a&gt;
.&lt;/p&gt;
&lt;h2 id="h2-0-applications"&gt;Applications&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://bsky.app/profile/hansolo.eu/post/3mkeusogqbs2h" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Gerrit Grunwald&lt;/strong&gt;&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;After a nice 14km morning walk, I&amp;rsquo;ve modified the prediction mode in my little &lt;a href="https://github.com/hansolo/glucostatusfx/releases" target="_blank" rel="noopener noreferrer"&gt;JavaFX diabetes app and created a new release&lt;/a&gt;
&amp;hellip; and all of that before 8am&amp;hellip; great start into the Sunday.&lt;/em&gt; 😁&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://foojay.social/@jabref/116501474018435951" target="_blank" rel="noopener noreferrer"&gt;Message from JabRef&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;We are excited that we are participating in GSOC2026 with 3 projects:&lt;/em&gt; &amp;quot;
&lt;ul&gt;
&lt;li&gt;Improved handling of older documents with OCR and AI-powered tools.&lt;/li&gt;
&lt;li&gt;Improved LibreOffice-JabRef integration with one particular aspect of compatibility with other reference managers.&lt;/li&gt;
&lt;li&gt;Improving startup times for JabKit by leveraging the power of GraalVM&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://bsky.app/profile/davidcalculin.bsky.social/post/3mlbvm4rlg22d" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;David Gutiérrez&lt;/strong&gt; released version 1.8.0 of JMathAnim&lt;/a&gt;
, a Java editor to make mathematical animations: &amp;ldquo;&lt;em&gt;featuring JavaFX effects for each individual object, improvements to autocomplete and the editor, code polishing, and numerous bug fixes.&lt;/em&gt; &amp;quot; Sources are &lt;a href="https://codeberg.org/davidgutierrezrubio/jmathanim" target="_blank" rel="noopener noreferrer"&gt;available here&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://bsky.app/profile/p-duke.bsky.social/post/3mlb7htf6xs2c" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Pedro Duke&lt;/strong&gt; shared a video&lt;/a&gt;
 of &lt;a href="https://www.ikehub.org/home" target="_blank" rel="noopener noreferrer"&gt;IKE&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;Demo: users create custom Knowledge Layout windows,then use them to view/edit/create Components tailored to their workflow. Built for healthcare, involving standards and terminologies like HL7, SNOMED CT, LOINC, RxNorm.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.reddit.com/r/JavaFX/comments/1tghhjn/built_a_100_offline_pdf_utility_app_using_java_25/" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Ilmetallaro&lt;/strong&gt; built a 100% offline PDF utility app&lt;/a&gt;
 using Java 25, JavaFX and AtlantaFX (GPLv3): &amp;ldquo;&lt;em&gt;LibrePDF is focused on 100% privacy. It makes zero HTTP calls, everything stays locally on your machine, and it doesn&amp;rsquo;t even support logging. I was sick and tired of uploading my personal data to cloud giants (like iLovePDF, Smallpdf, etc.) or relying on sketchy closed-source freeware.&lt;/em&gt; &amp;quot; &lt;a href="https://github.com/MontesanoDev/LibrePDF" target="_blank" rel="noopener noreferrer"&gt;You can find the code, binaries, and more info here&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://bsky.app/profile/leoxiong.bsky.social/post/3mm7rteyxes2v" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Leo Xiong&lt;/strong&gt; shared a screenshot of work-in-progress&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;Hello! I&amp;rsquo;m Lucy, your AI assistant. How can I help you with your database queries today? The AI-native database management tool journey has finally begun.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://bsky.app/profile/brunoborges.bsky.social/post/3mlpen4gq6c2x" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Bruno Borges&lt;/strong&gt; on Bluesky&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;And to think that I did port a 2048 game #JavaScript implementation to a Java + JavaFX desktop version, all by hand a long time ago! Copilot just helped enhance further&amp;hellip; &lt;a href="https://brunoborges.github.io/fx2048/" target="_blank" rel="noopener noreferrer"&gt;Available on brunoborges.github.io/fx2048&lt;/a&gt;
&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://bsky.app/profile/rladstaetter.bsky.social/post/3mlmbc73w3c25" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Robert Ladstätter&lt;/strong&gt; shared a behind the scenes&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;LogoRRR&amp;rsquo;s latest tutorial video was made with JavaFX too. The app, overlays, effects, voice, and recording pipeline all come together in one generated video.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Marcus Hirt&lt;/strong&gt; is looking for people wanting to try out, and maybe even participate in, a little hobby project: &lt;a href="https://github.com/thegreystone/diskspace" target="_blank" rel="noopener noreferrer"&gt;DiskSpace&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;A cross-platform disk space visualizer that shows where your space went, with two complementary views: a sunburst (hierarchical radial layout, good for spotting depth-imbalanced subtrees and proportional weight at a glance) and a squarified-treemap heatmap (good for finding the largest individual cells across the whole tree). Press V to toggle.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-1-components-libraries-tools"&gt;Components, Libraries, Tools&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.reddit.com/r/JavaFX/comments/1suhrov/early_contributors_wanted_tailwindfx_utilityfirst/" target="_blank" rel="noopener noreferrer"&gt;A (removed) message by &lt;strong&gt;Street_Humor_7861&lt;/strong&gt; on Reddit&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;Early contributors wanted for TailwindFX. An utility-first UI framework for JavaFX (MIT, 1.0-SNAPSHOT, actively developed). I&amp;rsquo;m building TailwindFX, an open-source framework that brings Tailwind CSS&amp;rsquo;s utility-first paradigm to JavaFX. Instead of writing verbose CSS/FXML or inline -fx-* styles, you compose UIs with familiar utility classes and type-safe Java APIs.&lt;/em&gt; &amp;quot; Check &lt;a href="https://github.com/yasmramos/tailwindfx" target="_blank" rel="noopener noreferrer"&gt;the repository here&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.reddit.com/r/JavaFX/comments/1sz7od8/ceffx_prebuilt_natives_added_no_need_to_compile/" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Striking_Creme864&lt;/strong&gt; on Reddit&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;We recently introduced our &lt;a href="https://github.com/techsenger/ceffx" target="_blank" rel="noopener noreferrer"&gt;CEFFX project&lt;/a&gt;
 (a library for integrating the Chromium Embedded Framework into JavaFX) and it was well received. Based on that feedback, we decided to simplify its usage by providing prebuilt native libraries. This allows you to use the library without having to compile anything yourself. All native binaries are packaged into the ceffx-natives module using classifier names similar to those in OpenJFX.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://bsky.app/profile/dlemmermann.bsky.social/post/3mkpdkbcan22d" target="_blank" rel="noopener noreferrer"&gt;Message by &lt;strong&gt;Dirk Lemmermann&lt;/strong&gt;&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;GemsFX 4.0.1 is out and has been &amp;lsquo;downgraded&amp;rsquo; back to using Java 11 and JavaFX 17 due to popular demand. I also added a new sampler demo auto-update installer (jdeploy) that &lt;a href="https://www.jdeploy.com/~gemsfxdemo" target="_blank" rel="noopener noreferrer"&gt;you can download here&lt;/a&gt;
. The demo uses Java 24 and JavaFX 25.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://bsky.app/profile/dlemmermann.bsky.social/post/3ml4e55poms24" target="_blank" rel="noopener noreferrer"&gt;Screenshot shared by &lt;strong&gt;Dirk Lemmermann&lt;/strong&gt;&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;GemsFX 4.0.4 is out on Maven Central with fixes to the styling of the InfoCenterView. Try it out via the &lt;a href="https://www.jdeploy.com/~gemsfxdemo" target="_blank" rel="noopener noreferrer"&gt;installer&lt;/a&gt;
. Browse the available controls at &lt;a href="https://gemsfx.dlsc.com/" target="_blank" rel="noopener noreferrer"&gt;gemsfx.dlsc.com&lt;/a&gt;
.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://bsky.app/profile/cupofcode.bsky.social/post/3mkz6awptu22i" target="_blank" rel="noopener noreferrer"&gt;Message shared by &lt;strong&gt;Austin Lehman&lt;/strong&gt;&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;&lt;a href="https://aussom-lang.com/" target="_blank" rel="noopener noreferrer"&gt;Aussom-Lang&lt;/a&gt;
 now has support for JavaFX, GTK4, a Java native interface with dynamic Jar loading, and native library interface via Panama. Quite a bit that can be done with it now. Aussom is a safe, sandboxed scripting language for the JVM. Embed it in your Java app, run it on the server with Aussom Server, or use it in the browser with Aussom-Script.&lt;/em&gt; &amp;quot; A JavaFX example is &lt;a href="https://aussom-lang.com/docPage?product=aussom&amp;amp;page=written/javafx-example-simple.md&amp;amp;title=JavaFX%20Example" target="_blank" rel="noopener noreferrer"&gt;available in the documentation&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Frank Delporte&lt;/strong&gt; announced &amp;ldquo;&lt;em&gt;V1.2.3 of Lottie4J, the library for parsing Lottie animations as Java objects and playing them as JavaFX animations. In this release: improved unit tests, data model and player improvements, and more! All info &lt;a href="https://lottie4j.com/releases/index.html" target="_blank" rel="noopener noreferrer"&gt;in the release notes&lt;/a&gt;
.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.reddit.com/r/JavaFX/comments/1t9s3a0/javafx_dynamic_jar_based_plugin_system/" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Kareem&lt;/strong&gt; shared a video on Reddit of DockTask&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;JavaFX dynamic JAR based plugin system. The idea is pretty straightforward: users can upload their own JARs, and the app will load them at runtime thanks to Java&amp;rsquo;s serviceloader. It also connects to a remote repo to browse and display plugin information. It&amp;rsquo;s still a work in progress, but I&amp;rsquo;m really curious about what people think of this system. Any feedback would be appreciated! Check it &lt;a href="https://github.com/KSaifStack/DockTask" target="_blank" rel="noopener noreferrer"&gt;on GitHub&lt;/a&gt;
.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://bsky.app/profile/dlemmermann.bsky.social/post/3mmerndjbqk25" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Dirk Lemmermann&lt;/strong&gt; shared a screenshot with a lot of AtlantaFX themes&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;Release 1.3.0 of the new collection of AtlantaFX themes is out now and published on Maven Central. A total of 25 themes (14 dark, 11 light). Use the plain CSS files or the Java API.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://foojayio.github.io/website/today/testing-lottie4j-javafx-animations-in-github-actions-with-javafx-26-headless/"&gt;Republished on Foojay&lt;/a&gt;
 &amp;ldquo;&lt;em&gt;JavaFX 26&amp;rsquo;s new headless mode solves a real problem: testing animations in CI/CD pipelines without a display server. &lt;strong&gt;Frank Delporte&lt;/strong&gt; shows how to use it with Lottie4J in GitHub Actions.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=EW6JzB3jZs0" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Lee Wyatt&lt;/strong&gt; shared a video about JavaFX Tools&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;JavaFX Tools now includes four ways to generate or complete JavaFX property code&lt;/em&gt; &amp;ldquo;:
&lt;ul&gt;
&lt;li&gt;Alt+Enter accessor intention&lt;/li&gt;
&lt;li&gt;fxp* completions&lt;/li&gt;
&lt;li&gt;Generate menu: JavaFX Property Accessors&lt;/li&gt;
&lt;li&gt;Generate menu: JavaFX Property&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.reddit.com/r/JavaFX/comments/1thyw7d/weaverbird_a_real_example_of_plugin_management/" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Striking_Creme864&lt;/strong&gt; on Reddit&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;Recently, we introduced &lt;a href="https://github.com/techsenger/weaverbird" target="_blank" rel="noopener noreferrer"&gt;Weaverbird&lt;/a&gt;
 - a framework for working with dynamic plugins. In this post, we want to show a real example of how it can be used. The GUI is build on top of TabShell. The main idea is that a plugin configuration is represented as an XML file. When the application is distributed, it already contains predefined plugin configurations (at the same time, users can add their own plugins). A configuration contains module definitions, repositories used to download them, plugin metadata, and other related information.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;Last week, we included a link to the message by &lt;strong&gt;Dirk Lemmermann&lt;/strong&gt; about AtlantaFX Themes. Now, there is also a &lt;a href="https://dlsc-software-consulting-gmbh.github.io/atlantafx-themes/" target="_blank" rel="noopener noreferrer"&gt;website at&lt;/a&gt;
 with screenshots of all themes. &amp;ldquo;&lt;em&gt;Each theme overrides the color scale, semantic tokens, and dark / light mode flag without touching the upstream stylesheet.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.reddit.com/r/JavaFX/comments/1tp4jjv/gemsfx_new_controlsfx_atlantafx_companion/" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Dirk Lemmermann&lt;/strong&gt; announced version 4.1.0 of GemsFX&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;now includes an AtlantaFX companion stylesheet for ControlsFX. You can use the method ControlsFXAtlantaFX.apply() to add this new stylesheet to your scene or any parent node. By doing so you will be able to get rid of all those pesky warning / error messages regarding CSS rules using unknown colors. For more on GemsFX see &lt;a href="https://gemsfx.dlsc.com" target="_blank" rel="noopener noreferrer"&gt;gemsfx.dlsc.com&lt;/a&gt;
.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-2-podcasts-videos-books"&gt;Podcasts, Videos, Books&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=Q8YPQzyeh58" target="_blank" rel="noopener noreferrer"&gt;Video by &lt;strong&gt;BabyDevCode&lt;/strong&gt;&lt;/a&gt;
: &amp;ldquo;How to Run JavaFX Projects in Visual Studio Code.&amp;rdquo; The original is in Spanish, but also available in auto-dubbed English.&lt;/li&gt;
&lt;li&gt;Recording of the JavaOne &amp;lsquo;26 talk by &lt;strong&gt;Phil Race&lt;/strong&gt; : &lt;a href="https://inside.java/2026/05/03/jdk-client-desktop/" target="_blank" rel="noopener noreferrer"&gt;The JDK Client Desktop : 2026 and Still Swinging&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;In this session, we explore how Swing fits into today&amp;rsquo;s Java ecosystem, how it works seamlessly alongside JavaFX, and why it can still outperform web-based approaches for certain desktop applications.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://foojayio.github.io/website/today/debugging-bentofx-in-melodymatrix-with-matt-coley-scenic-view-and-an-honest-look-at-ai-generated-code/"&gt;Republished on Foojay&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;&lt;strong&gt;Frank Delporte&lt;/strong&gt; walks through debugging BentoFX in MelodyMatrix using Scenic View with &lt;strong&gt;Matt Coley&lt;/strong&gt;, plus a realistic look at AI-generated code and its challenges.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=N0KiHP6UPKY" target="_blank" rel="noopener noreferrer"&gt;Video by &lt;strong&gt;Florian Enner&lt;/strong&gt;&lt;/a&gt;
 showing his JavaFX charts and 3D visualizations in JavaFX from within MATLAB.&lt;/li&gt;
&lt;li&gt;New impressive &lt;a href="https://www.youtube.com/watch?v=TlaJmlVQf98" target="_blank" rel="noopener noreferrer"&gt;video by &lt;strong&gt;Florian Enner&lt;/strong&gt; of the JavaFX HEBI Charts&lt;/a&gt;
 showing 50 KHz update, 100 subplots, chart with 1000 lines, and more. You can find the &lt;a href="https://github.com/HebiRobotics/hebi-charts-examples" target="_blank" rel="noopener noreferrer"&gt;example repo on GitHub&lt;/a&gt;
.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-3-tutorials"&gt;Tutorials&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://dev.java/learn/javafx/a11y/" target="_blank" rel="noopener noreferrer"&gt;New tutorial by &lt;strong&gt;Ana-Maria Mihalceanu&lt;/strong&gt;: &amp;ldquo;Accessibility in JavaFX&amp;rdquo;&lt;/a&gt;
. &amp;ldquo;&lt;em&gt;JavaFX provides accessibility APIs and properties that help you build inclusive user interfaces. A good starting point is to rely on standard controls and ensure that your user interface employs proper semantics. From there, you can customize accessible metadata and fine-tune how components behave for assistive technologies.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-4-conferences-presentations"&gt;Conferences, Presentations&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;On June 16th, the &lt;a href="https://www.zeiss.com/meditec/en/news-events/events/jfx-adopters-meeting-2026.html" target="_blank" rel="noopener noreferrer"&gt;JFX Adopters Meeting&lt;/a&gt;
 will take place in Munich, Germany. &amp;ldquo;&lt;em&gt;We will be hosting a JFX Adopters Meeting to exchange information on current projects and future plans. Representatives of the JavaFX &amp;rsquo;ecosystem&amp;rsquo; will also be there to help develop a viable picture of JavaFX. The success of future developments depends on the contribution of adopter companies making our community stronger.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-5-miscellaneous"&gt;Miscellaneous&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.linkedin.com/pulse/rest-story-april-edition-jvm-weekly-vol-173-artur-skowro%C5%84ski-ibyyf/" target="_blank" rel="noopener noreferrer"&gt;In the JVM Weekly vol. 173, by &lt;strong&gt;Artur Skowroński&lt;/strong&gt;&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;&lt;a href="https://melodymatrix.rocks/" target="_blank" rel="noopener noreferrer"&gt;MelodyMatrix&lt;/a&gt;
 by &lt;strong&gt;Frank Delporte&lt;/strong&gt; isn&amp;rsquo;t important for what it does (it&amp;rsquo;s a music-related tool) - it&amp;rsquo;s important as a case study for how to ship a JavaFX desktop app in 2026. The &lt;a href="https://foojayio.github.io/website/today/melodymatrix-v1-0-0-released-shipping-a-javafx-app-with-jdeploy-github-actions-and-auto-update/"&gt;release walkthrough on Foojay covers the full pipeline&lt;/a&gt;
: jdeploy for cross-platform native installers, GitHub Actions for the build, auto-update integration, the works.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://bsky.app/profile/dlemmermann.bsky.social/post/3ml6mkelzhk2g" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Dirk Lemmermann&lt;/strong&gt; is asking&lt;/a&gt;
 to get JetBrains to &lt;a href="https://youtrack.jetbrains.com/issue/IDEA-353241/Allow-final-JavaFX-properties-to-generate-the-setter-method." target="_blank" rel="noopener noreferrer"&gt;fix a JavaFX-related issue&lt;/a&gt;
 in IntelliJ IDEA.&amp;quot;&lt;em&gt;It is so disruptive to my &amp;lsquo;flow&amp;rsquo;.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-6-jfx-central"&gt;JFX Central&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;The JavaFX Links Of The Week of April got &lt;a href="https://foojayio.github.io/website/today/javafx-links-of-april-2026/"&gt;bundled and published on Foojay.io&lt;/a&gt;
.&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Debugging BentoFX in MelodyMatrix with Matt Coley, Scenic View, and an Honest Look at AI-Generated Code</title><link>https://foojayio.github.io/website/today/debugging-bentofx-in-melodymatrix-with-matt-coley-scenic-view-and-an-honest-look-at-ai-generated-code/</link><pubDate>Fri, 15 May 2026 10:02:40 +0000</pubDate><guid>https://foojayio.github.io/website/today/debugging-bentofx-in-melodymatrix-with-matt-coley-scenic-view-and-an-honest-look-at-ai-generated-code/</guid><description>&lt;p&gt;There are bugs you can solve by yourself, and bugs where you just need to sit down with someone who knows the internals. This video is in the second category. &lt;a href="https://melodymatrix.rocks/" target="_blank" rel="noopener noreferrer"&gt;MelodyMatrix&lt;/a&gt;
 uses &lt;a href="https://github.com/Col-E/BentoFX" target="_blank" rel="noopener noreferrer"&gt;BentoFX&lt;/a&gt;
 for its dockable panel layout. Branches, leaves, tabs on the side, content panels that open and close. It works well until something fights the layout. But I had some visual problems I could not explain, some code that felt more complicated than it should be, and no good explanation for why.&lt;/p&gt;</description></item><item><title>Testing Lottie4J JavaFX Animations in GitHub Actions Without a Display: JavaFX 26 Headless to the Rescue</title><link>https://foojayio.github.io/website/today/testing-lottie4j-javafx-animations-in-github-actions-with-javafx-26-headless/</link><pubDate>Wed, 13 May 2026 07:35:26 +0000</pubDate><guid>https://foojayio.github.io/website/today/testing-lottie4j-javafx-animations-in-github-actions-with-javafx-26-headless/</guid><description>&lt;p&gt;When I released &lt;a href="https://lottie4j.com/releases/#2026-03-10-110" target="_blank" rel="noopener noreferrer"&gt;Lottie4J 1.1.0&lt;/a&gt;
, I mentioned something a bit embarrassing in the release notes and &lt;a href="https://webtechie.be/post/2026-03-10-new-release-of-lottie4j/" target="_blank" rel="noopener noreferrer"&gt;this blog post&lt;/a&gt;
: there was a new unit test to compare the JavaFX player output against a JavaScript reference player, but it &amp;ldquo;&lt;em&gt;can not run on CI, because it requires a display output&lt;/em&gt;.&amp;rdquo; A TODO. A known limitation. One of those notes you write hoping future-you will figure it out.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://gluonhq.com/javafx-26-is-now-available/" target="_blank" rel="noopener noreferrer"&gt;JavaFX 26 was released on March 17, 2026&lt;/a&gt;
 and includes a new headless platform, allowing me to get the test running on GitHub Actions without a display.&lt;/p&gt;</description></item><item><title>JavaFX Links of April 2026</title><link>https://foojayio.github.io/website/today/javafx-links-of-april-2026/</link><pubDate>Thu, 30 Apr 2026 09:02:34 +0000</pubDate><guid>https://foojayio.github.io/website/today/javafx-links-of-april-2026/</guid><description>&lt;p&gt;Here are the JavaFX LinksOfTheMonth of April 2026. You can find the weekly lists on &lt;a href="https://www.jfx-central.com/links" target="_blank" rel="noopener noreferrer"&gt;jfx-central.com&lt;/a&gt;
. Did we miss anything? Is there anything you want to have included in one of the next overviews? Let us know via &lt;a href="https://foojayio.github.io/website/cdn-cgi/l/email-protection"&gt;[email protected]&lt;/a&gt;
.&lt;/p&gt;
&lt;h2 id="h2-0-core"&gt;Core&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Frank Delporte&lt;/strong&gt; published a rework on Foojay of last week&amp;rsquo;s Azul Blog post about the Oracle announcement related to JavaFX: &lt;a href="https://foojayio.github.io/website/today/the-javafx-revival/"&gt;Oracle&amp;rsquo;s Java Verified Portfolio and JavaFX: What It Actually Means&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;Blog post by Gluon: &lt;a href="https://gluonhq.com/april-2026-critical-patch-update-for-openjfx-now-available/" target="_blank" rel="noopener noreferrer"&gt;April 2026 Critical Patch Update for OpenJFX Now Available&lt;/a&gt;
. With a &lt;a href="https://bsky.app/profile/johanvos.bsky.social/post/3mjzkzn6zzs2v" target="_blank" rel="noopener noreferrer"&gt;message shared by &lt;strong&gt;Johan Vos&lt;/strong&gt;&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;Enjoy the latest and safest releases of JavaFX! And if you want to help us building/distributing these releases, consider our &lt;a href="https://gluonhq.com/services/javafx-support/#pricing" target="_blank" rel="noopener noreferrer"&gt;LTS support at gluonhq.com/lts&lt;/a&gt;
.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;Related to the three-monthly security update, a merge request has been created in the OpenJFX repo with the &lt;a href="https://github.com/openjdk/jfx26u/pull/23/changes" target="_blank" rel="noopener noreferrer"&gt;release notes for 26.0.1&lt;/a&gt;
 with seven fixes and one known issue: &amp;ldquo;&lt;em&gt;Media Playback Does Not Work on Ubuntu 26.04. This is because JavaFX Media does not support libavcodec version 62. Support will be added with &lt;a href="https://bugs.openjdk.org/browse/JDK-8378510" target="_blank" rel="noopener noreferrer"&gt;JDK-8378510&lt;/a&gt;
.&lt;/em&gt;&amp;rdquo;.&lt;/li&gt;
&lt;li&gt;Still on Java 8 with your JavaFX application and using Amazon Corretto? Apparently the &lt;a href="https://aws.amazon.com/about-aws/whats-new/2026/04/amazon-corretto-april-2026-quarterly-updates/" target="_blank" rel="noopener noreferrer"&gt;April 2026 release is the last one Amazon is providing with JavaFX 8 support&lt;/a&gt;
.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-1-scenebuilder"&gt;SceneBuilder&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;On Reddit, &lt;strong&gt;No-Security-7518&lt;/strong&gt; is asking for feedback: &lt;a href="https://www.reddit.com/r/JavaFX/comments/1sebnus/scenebuilder_is_a_great_piece_of_software_what/" target="_blank" rel="noopener noreferrer"&gt;SceneBuilder is a GREAT piece of software. What features could make it even greater?&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;I&amp;rsquo;m thinking maybe I could become a contributor. Anyway, I was thinking: What could make Scenebuilder even better?&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-2-applications"&gt;Applications&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://bsky.app/profile/pdfsam.org/post/3midyc6gytc2l" target="_blank" rel="noopener noreferrer"&gt;PDFsam announced&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;The new PDFsam Basic 6.0.0 is out with a lot of work done on the PDF engine and accessibility, upgraded JDK and JavaFX and more.&lt;/em&gt; &amp;quot; Check &lt;a href="https://blog.pdfsam.org/new-release/pdfsam-basic-6-0-0-is-out/2592/" target="_blank" rel="noopener noreferrer"&gt;this post&lt;/a&gt;
 for more details.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Frank Delporte&lt;/strong&gt; did the first release of &lt;a href="https://melodymatrix.rocks/" target="_blank" rel="noopener noreferrer"&gt;MelodyMatrix&lt;/a&gt;
, live on camera, together with &lt;strong&gt;Steve Hannah&lt;/strong&gt; , the creator of &lt;a href="https://www.jdeploy.com/" target="_blank" rel="noopener noreferrer"&gt;jDeploy&lt;/a&gt;
. You can watch the &lt;a href="https://www.youtube.com/watch?v=_-IL7uHalIU" target="_blank" rel="noopener noreferrer"&gt;full video on YouTube&lt;/a&gt;
 and find more information &lt;a href="https://webtechie.be/post/2026-04-16-first-release-of-melodymatrix-with-jdeploy/" target="_blank" rel="noopener noreferrer"&gt;in this blog post&lt;/a&gt;
. MelodyMatrix is a desktop app to experience music in a new way with real-time MIDI recording, multiple visualization views, and powerful playback features. Perfect for musicians, educators, and music enthusiasts.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.linkedin.com/posts/viktor-karpyuk_mongodb-opensource-developertools-ugcPost-7449866993488297985-sKxe/?utm_source=share&amp;amp;utm_medium=member_desktop&amp;amp;rcm=ACoAAAMtmUkBuuAVyJKMU3vtXsADMtuaTKIO8IA" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Viktor Karpyuk&lt;/strong&gt; shared on LinkedIn&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;It started with a small frustration: Studio 3T Community Edition only allowed 3 database connections. That limitation kept getting in the way of real day-to-day work, so instead of working around it, I decided to build something simpler, lighter, and more practical for everyday MongoDB usage. That is how Mongo Explorer was born &amp;mdash; a native MongoDB client focused on the things developers actually need: quick connections, easy browsing, solid querying, and a clean desktop experience without unnecessary overhead.&lt;/em&gt; &amp;quot; It&amp;rsquo;s &lt;a href="https://github.com/viktor-karpyuk/mongo-explorer" target="_blank" rel="noopener noreferrer"&gt;available on GitHub&lt;/a&gt;
.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-3-components-libraries-tools"&gt;Components, Libraries, Tools&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://bsky.app/profile/dlemmermann.bsky.social/post/3mign6rr7q22i" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Dirk Lemmermann&lt;/strong&gt; shared amazing screenshots&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;Last weekend I worked on FlexGanttFX (flexganttfx.com) improvements and support for AtlantaFX theming / styling. A new showcase app with new demos / samples is also in the works.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://bsky.app/profile/leewyatt.bsky.social/post/3mj4iduyq3s2y" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Lee Wyatt&lt;/strong&gt; announced JavaFX Tools v2.0&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;Free IntelliJ plugin for JavaFX devs. CSS completion, variable resolution and gutter previews, 63,000+ Ikonli icons browser, weekly JFXCentral LOTW digest. Thanks to &lt;strong&gt;Dirk Lemmermann&lt;/strong&gt; for testing and guidance!&lt;/em&gt; &amp;quot; Check the &lt;a href="https://www.youtube.com/watch?v=a03BkmqNefk" target="_blank" rel="noopener noreferrer"&gt;video on YouTube&lt;/a&gt;
. The plugin is &lt;a href="https://plugins.jetbrains.com/plugin/17514-javafx-tools" target="_blank" rel="noopener noreferrer"&gt;available on the JetBrains Marketplace&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://bsky.app/profile/sosuisen.bsky.social/post/3miqzesecvk2b" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Hidekazu Kubota&lt;/strong&gt; announced&lt;/a&gt;
 the first stable release of the &lt;a href="https://github.com/sosuisen/javafx-builder-api" target="_blank" rel="noopener noreferrer"&gt;JavaFX Builder API&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;This API allows UI code to represent nested structures that mirror the container hierarchy of the user interface. This project aims to reintroduce builder classes to JavaFX. Although these classes were included in JavaFX 2, they were removed from the official library due to concerns about maintenance overhead. Nonetheless, for those who prefer a fluent style, having an API like this is a valuable addition.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;Shared by &lt;a href="https://www.reddit.com/r/JavaFX/comments/1slll8c/running_javafx_apps_with_updates_and_dynamic/" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Striking_Creme864&lt;/strong&gt; on Reddit&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;Running JavaFX apps with updates and dynamic plugins. Today I want to share our project &lt;a href="https://github.com/techsenger/weaverbird" target="_blank" rel="noopener noreferrer"&gt;Weaverbird&lt;/a&gt;
 and show how it can be used with JavaFX. Usually, a JavaFX application is started with all modules loaded int the boot layer. However, JPMS allows you to create an unlimited number of child layers and build a graph from them, which in turn lets us separate application management from the application itself. For exactly this purpose, Weaverbird was created - it runs in the boot layer and is responsible for creating and managing the layers (at the same time its capabilities go much further).&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.reddit.com/r/JavaFX/comments/1sr105r/kickstartfx_v11_the_most_advanced_template_for/" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Christopher Schnick&lt;/strong&gt; shared info about KickstartFX v1.1&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;A few months ago I released a ready-to-use application template called &lt;a href="https://github.com/xpipe-io/kickstartfx" target="_blank" rel="noopener noreferrer"&gt;KickstartFX&lt;/a&gt;
. You can clone it and get started instantly or try out the pre-built releases on GitHub. The code and buildscripts are the same you find in a real-world production application as most of them are taken straight from one, in this case &lt;a href="https://github.com/xpipe-io/xpipe" target="_blank" rel="noopener noreferrer"&gt;XPipe&lt;/a&gt;
. Since then, quite a few additions and bug fixes have been integrated.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://webtechie.be/post/2026-04-20-lottie4j-unit-test-with-headless-javafx/" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Frank Delporte&lt;/strong&gt; blogged about headless testing of Lottie4J&lt;/a&gt;
, a library for parsing Lottie animations as Java objects and playing them as JavaFX animations: &amp;ldquo;&lt;em&gt;Lottie4J had a unit test I marked &amp;lsquo;can not run on CI, because it requires a display.&amp;rsquo; JavaFX 26 fixed that. There&amp;rsquo;s a built-in headless platform now, one JVM flag, and GitHub Actions just work without any display setup. There&amp;rsquo;s a small catch with Java version juggling (JavaFX 26 requires Java 24+, Lottie4J targets Java 21), but a Maven profile handles it cleanly.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.reddit.com/r/JavaFX/comments/1sti4zh/flexganttfx_showcase_application/" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Dirk Lemmermann&lt;/strong&gt; published a FlexGanttFX Showcase Application&lt;/a&gt;
 : &amp;ldquo;&lt;em&gt;created a jdeploy installer for the FlexGanttFX showcase application. You can &lt;a href="https://www.jdeploy.com/~flexganttfxshowcase" target="_blank" rel="noopener noreferrer"&gt;find it here&lt;/a&gt;
. The installer will allow you to run the demo locally and the installation will auto-update whenever I push a new release. FlexGanttFX is a framework for building UIs for planning and scheduling applications. The showcase application contains a couple of demos and feature samples. If there is anything you would like to see being added to the demos then please let me know and I will try to come up with an example. I will soon add a JPro-based website that will allow you to run the same application in your browser.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-4-podcasts-videos-books"&gt;Podcasts, Videos, Books&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=Ytdo8OGEYFI" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Catherine Edelveis&lt;/strong&gt; published a new video&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;New on CyberJAR: Comparing Top OpenJDK Distributions. If you&amp;rsquo;re looking for more than vanilla Java - JavaFX, Java 6 an 7, hardened container images, extended LTS support - check out this comparative summary.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=uvQwVpG3c5A" target="_blank" rel="noopener noreferrer"&gt;Live coding session with &lt;strong&gt;Johannes Rabauer&lt;/strong&gt; and &lt;strong&gt;Ryan Jarvinen&lt;/strong&gt;&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;AI Coding with IBM Bob: Building a JavaFX Chess Game Live. In this live coding session we&amp;rsquo;ll we explore IBM Bob, IBM&amp;rsquo;s new AI-first development environment designed to act as a true software engineering partner rather than just an autocomplete tool. Bob integrates directly into the IDE and supports chat-driven development, real-time code review, and security-aware refactoring, while understanding your codebase and intent. It is purpose-built for tasks like Java modernization, large-scale refactoring, and enterprise-grade development workflows. The goal of this session is simple: Use a limited trial budget (40 Bobcoins) to build a functional JavaFX chess game and evaluate how far an AI IDE can realistically take us.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.linkedin.com/posts/olivier-pillods-9286a0113_javajavafx-3d-chess-final-project-2023-ugcPost-7450104328989663232-MdE6" target="_blank" rel="noopener noreferrer"&gt;And also a finished chess game in 3D by &lt;strong&gt;Olivier Pillods&lt;/strong&gt;&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;We were asked to replicate the classic chess game with JavaFX, and to add new pieces and rule variants. I was the only student that decided to make it 3D. Developed my own obj file importer. I created piece animations and colored interactions for movement availability. To finish, I made a graveyard system, and a rollback functionality that remembers all until start.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Frank Delporte&lt;/strong&gt; was &amp;ldquo;&lt;em&gt;struggling with the BentoFX layout in MelodyMatrix, and called &lt;strong&gt;Matt Coley&lt;/strong&gt;, the person who wrote it. We used ScenicView to inspect the running JavaFX scene graph, cleaned up some AI-generated code, and possibly found a bug. Honest and practical session.&lt;/em&gt; &amp;quot; Watch the &lt;a href="https://www.youtube.com/watch?v=grwzIWWZMNw" target="_blank" rel="noopener noreferrer"&gt;video on YouTube&lt;/a&gt;
 and check the &lt;a href="https://webtechie.be/post/2026-04-21-improving-melodymatrix-ui-with-bentofx/" target="_blank" rel="noopener noreferrer"&gt;blog post with more info and links&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;Video by &lt;strong&gt;Lee Wyatt&lt;/strong&gt; : &lt;a href="https://www.youtube.com/watch?v=ycj1X_TwfeU" target="_blank" rel="noopener noreferrer"&gt;JavaFX Hot Reload in IntelliJ &amp;mdash; One Click, Zero Code Changes (FxmlKit + JavaFX Tools)&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;JavaFX hot reload without touching your production code. FxmlKit 1.5.1 introduces a system property to enable dev mode externally. JavaFX Tools 2.1.1 takes it one step further &amp;mdash; just click the purple Runner button in IntelliJ IDEA, and your app starts with FXML/CSS hot reload enabled automatically. No need to call FxmlKit.enableDevelopmentMode() in your code. No risk of shipping dev mode to production. No extra configuration.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-5-conferences-presentations"&gt;Conferences, Presentations&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://bsky.app/profile/wolfgangweigend.bsky.social/post/3mjz5326mxk2p" target="_blank" rel="noopener noreferrer"&gt;Picture shared by &lt;strong&gt;Wolfgang Weigend&lt;/strong&gt;&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;A nice conversation about various topics such as Java dependencies, JUnit and also JavaFX at the oracle Java booth at the JCON 2026 conference in Cologne with &lt;strong&gt;Christian Stein&lt;/strong&gt; and &lt;strong&gt;Adam Bien&lt;/strong&gt;.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-6-miscellaneous"&gt;Miscellaneous&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Article by &lt;strong&gt;Daniel Harris&lt;/strong&gt; : &lt;a href="https://www.coohom.com/article/interactive-floor-plan-editor-in-java-tools-and-frameworks" target="_blank" rel="noopener noreferrer"&gt;Interactive Floor Plan Editor in Java: Tools and Frameworks: A practical guide for developers building drag‑and‑drop architectural layout editors with Java and JavaFX&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;Over the last decade, I&amp;rsquo;ve worked on several internal tools for architecture studios and real‑estate visualization teams. One recurring request is the same: build an interactive floor plan editor in Java that allows designers to quickly sketch layouts, drag walls, and experiment with room configurations. &amp;hellip; In this guide I&amp;rsquo;ll walk through the frameworks, design patterns, and engineering decisions that make Java floor plan editors usable and scalable.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-7-jfx-central"&gt;JFX Central&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Content changes on JFX Central:
&lt;ul&gt;
&lt;li&gt;Fifty (!) new &lt;a href="https://www.jfx-central.com/libraries" target="_blank" rel="noopener noreferrer"&gt;libraries&lt;/a&gt;
 and three &lt;a href="https://www.jfx-central.com/books" target="_blank" rel="noopener noreferrer"&gt;books&lt;/a&gt;
 were added to the JFX Central website.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;The desktop client was updated to JavaFX 25 and now uses the new EXTENDED stage style, which allows for a more native feel of the application on Windows, Mac, Linux.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Dirk Lemmermann&lt;/strong&gt; is working on more improvements:
&lt;ul&gt;
&lt;li&gt;&amp;ldquo;&lt;em&gt;&lt;a href="https://bsky.app/profile/dlemmermann.bsky.social/post/3mhzvnc76wc2u" target="_blank" rel="noopener noreferrer"&gt;Copilot is now updating the libraries catalogue for JFX Central for me&lt;/a&gt;
. &amp;lsquo;Find the most popular JavaFX libraries on GitHub and summarise the readme and download the images and integrate into libraries.json&amp;rsquo;. That&amp;rsquo;s what AI was made for 🙂&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&amp;ldquo;&lt;em&gt;A little competition never hurt anyone &amp;hellip;.. &lt;a href="https://bsky.app/profile/dlemmermann.bsky.social/post/3mi2dduhvnk2o" target="_blank" rel="noopener noreferrer"&gt;JFX Central will start showing the GitHub stars that a library has received so far.&lt;/a&gt;
&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&amp;ldquo;&lt;em&gt;&lt;a href="https://bsky.app/profile/dlemmermann.bsky.social/post/3mi2dgp7xdk2o" target="_blank" rel="noopener noreferrer"&gt;Here is another one&lt;/a&gt;
&lt;/em&gt; &amp;hellip; the header changes layout when a library has its own icon &amp;hellip;. good job &lt;strong&gt;Gerrit Grunwald&lt;/strong&gt; :-)_&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;The JavaFX Links Of The Week of March got bundled and &lt;a href="https://foojayio.github.io/website/today/javafx-links-of-march-2026/"&gt;published on Foojay.io&lt;/a&gt;
.&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>MelodyMatrix V1.0.0 Released: Shipping a JavaFX App with jDeploy, GitHub Actions, and Auto-Update</title><link>https://foojayio.github.io/website/today/melodymatrix-v1-0-0-released-shipping-a-javafx-app-with-jdeploy-github-actions-and-auto-update/</link><pubDate>Mon, 20 Apr 2026 14:51:00 +0000</pubDate><guid>https://foojayio.github.io/website/today/melodymatrix-v1-0-0-released-shipping-a-javafx-app-with-jdeploy-github-actions-and-auto-update/</guid><description>&lt;p&gt;Some side projects take a while to get to a proper release. &lt;a href="https://melodymatrix.rocks/" target="_blank" rel="noopener noreferrer"&gt;MelodyMatrix&lt;/a&gt;
 is one of those. The app has been downloadable for quite some time thanks to &lt;a href="https://www.jdeploy.com/" target="_blank" rel="noopener noreferrer"&gt;jDeploy&lt;/a&gt;
, but there was no official V1.0.0 yet. No tagged release. No moment of &amp;ldquo;okay, this is it.&amp;rdquo; Just a rolling build on every commit to the &lt;code&gt;main&lt;/code&gt; branch.&lt;/p&gt;
&lt;p&gt;That changed now: live, on camera, together with Steve Hannah, the creator of jDeploy.&lt;/p&gt;</description></item><item><title>Oracle's Java Verified Portfolio and JavaFX: What It Actually Means</title><link>https://foojayio.github.io/website/today/the-javafx-revival/</link><pubDate>Thu, 02 Apr 2026 07:01:48 +0000</pubDate><guid>https://foojayio.github.io/website/today/the-javafx-revival/</guid><description>&lt;p&gt;Oracle&amp;rsquo;s JavaOne 2026 brought an announcement that caught some attention in the Java community: the Java Verified Portfolio (JVP), a new program that bundles JDK-related tools, frameworks, libraries, and services under a single commercially supported umbrella with clear roadmaps and support timelines. One of the headline items? Commercial support for JavaFX in JDK 17, 21, 25, 26, and future LTS releases.&lt;/p&gt;
&lt;p&gt;Oracle&amp;rsquo;s own framing: &lt;em&gt;&amp;ldquo;Driven by customer demand, interest from academia, and the growing need for advanced visualizations in AI-powered applications and analytics, Oracle is reintroducing commercial support for JavaFX.&amp;rdquo;&lt;/em&gt;&lt;/p&gt;</description></item><item><title>JavaFX Links of March 2026</title><link>https://foojayio.github.io/website/today/javafx-links-of-march-2026/</link><pubDate>Tue, 31 Mar 2026 07:49:54 +0000</pubDate><guid>https://foojayio.github.io/website/today/javafx-links-of-march-2026/</guid><description>&lt;p&gt;Here are the JavaFX LinksOfTheMonth of March 2026. You can find the weekly lists on &lt;a href="https://www.jfx-central.com/links" target="_blank" rel="noopener noreferrer"&gt;jfx-central.com&lt;/a&gt;
. Did we miss anything? Is there anything you want to have included in one of the next overviews? Let us know via &lt;a href="https://foojayio.github.io/website/cdn-cgi/l/email-protection"&gt;[email protected]&lt;/a&gt;
.&lt;/p&gt;
&lt;h2 id="h2-0-core"&gt;Core&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Java and JavaFX 26 got released!
&lt;ul&gt;
&lt;li&gt;JavaFX 26 requires JDK 24 or later.&lt;/li&gt;
&lt;li&gt;You can find all important changes, removed and new features, and fixed issues in the &lt;a href="https://github.com/openjdk/jfx/blob/jfx26/doc-files/release-notes-26.md" target="_blank" rel="noopener noreferrer"&gt;Release Notes for JavaFX 26&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;You can download JavaFX 26 &lt;a href="https://gluonhq.com/products/javafx/" target="_blank" rel="noopener noreferrer"&gt;from the Gluon website&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;A &lt;a href="https://www.techzine.eu/news/devops/139673/oracle-releases-java-26-ai-security-and-the-java-verified-portfolio/" target="_blank" rel="noopener noreferrer"&gt;remarkable move by Oracle&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;Oracle is introducing the Java Verified Portfolio (JVP). This is a curated collection of enterprise-grade tools, frameworks, and libraries that Oracle commercially supports. &amp;hellip; It is worth noting that JavaFX, the Java GUI framework, is once again supported via JVP. According to Oracle, this is due to growing demand. Support will be available for all new Java versions and all LTS versions during the five-year Premium Support tier. Support for JDK 8 will be extended until March 2028.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://blogs.oracle.com/java/announcing-jvp" target="_blank" rel="noopener noreferrer"&gt;Blog post by Oracle&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;Announcing the Oracle Java Verified Portfolio including Helidon and reintroduction of JavaFX Commercial Support&lt;/em&gt;.&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://mastodon.social/@johanvos/116245211784256953" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Johan Vos&lt;/strong&gt; announced&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;Gluon continues to lead the OpenJFX project. Here is JavaFX 26.&lt;/em&gt; &amp;quot; With a link to a &lt;a href="https://gluonhq.com/javafx-26-is-now-available/" target="_blank" rel="noopener noreferrer"&gt;Gluon blog post about JavaFX 26&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;Video with the recording of the talk by Kevin Rusforth at JavaOne: &lt;a href="https://inside.java/2026/03/25/javaone-javafx/" target="_blank" rel="noopener noreferrer"&gt;JavaFX 26 Today&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;Building a compelling desktop app today requires features such as UI controls, charts, interactive media, web content, animation, CSS styling, 2D and 3D rendering, rich text, and property binding, with an easy-to-use programming paradigm that runs cross-platform. JavaFX is all this and more, delivering a rich graphical UI toolkit for building your applications and can also seamlessly interoperate with Swing. In this session you&amp;rsquo;ll learn about the new and exciting features we&amp;rsquo;ve developed over the past couple of years, culminating with the release of JavaFX 26. You&amp;rsquo;ll also get an update on RichTextArea. We&amp;rsquo;ll show plenty of demos and sample code, and finish with a sneak peek at what&amp;rsquo;s coming next.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.linkedin.com/posts/java-javafx-javafx26-share-7442544660272627712-vVJf/" target="_blank" rel="noopener noreferrer"&gt;APIdia announced&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;Adjacent to Java releases are JavaFX releases. Of course, API documentation of JavaFX 26 is similarly &lt;a href="https://apidia.net/mvn/org.openjfx/javafx/26/" target="_blank" rel="noopener noreferrer"&gt;available on APIdia&lt;/a&gt;
.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://inside.java/2026/03/03/quality-heads-up/" target="_blank" rel="noopener noreferrer"&gt;Quality Outreach Heads-up - JavaFX 27: Metal Is Now the Default Rendering Pipeline on macOS&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;This heads-up is part of the quality outreach sent to the projects involved. &amp;hellip; On macOS, the default JavaFX rendering pipeline has been switched to Metal since JavaFX 27 Early Access (EA) build 3. Metal provides improved performance and better compatibility on modern hardware.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;A blog by Gluon: &lt;a href="https://gluonhq.com/the-art-of-the-backport-why-javafx-security-doesnt-just-happen/" target="_blank" rel="noopener noreferrer"&gt;The Art of the Backport: Why JavaFX Security Doesn&amp;rsquo;t &amp;ldquo;Just Happen&amp;rdquo;&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;In a perfect world, keeping a tech stack current is as simple as bumping a version number in a pom.xml or build.gradle file. You run a clean build, and suddenly, the latest fixes are integrated. But for those of us building mission-critical desktop and embedded applications, &amp;ldquo;just upgrading&amp;rdquo; to the latest major release isn&amp;rsquo;t always feasible. When your application is built on a stable Long Term Support (LTS) foundation, you need that environment to remain predictable. You want the stability of your current version, but you absolutely need the security fixes that are discovered in the newer branches. This is where the &amp;ldquo;Art of the Backport&amp;rdquo; comes in, and it&amp;rsquo;s a significant part of the heavy lifting we do at Gluon.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;Related to the announcement of the Oracle Java Verified Portfolio (JVP) and the reintroduction of commercial support for JavaFX, &lt;strong&gt;Frank Delporte&lt;/strong&gt; wrote a blog: &lt;a href="https://www.azul.com/blog/the-javafx-revival-good-news-for-the-community-business-as-usual-for-azul/" target="_blank" rel="noopener noreferrer"&gt;The JavaFX Revival: Good News for the Community, Business as Usual for Azul&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;Already want to experiment with JavaFX 27? Check the &lt;a href="https://jdk.java.net/javafx27/" target="_blank" rel="noopener noreferrer"&gt;early-access builds&lt;/a&gt;
.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-1-applications"&gt;Applications&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;LogoRRR announced &lt;a href="https://github.com/rladstaetter/LogoRRR/releases/tag/26.2.0" target="_blank" rel="noopener noreferrer"&gt;release 26.2.0&lt;/a&gt;
. &lt;a href="https://www.youtube.com/watch?v=4INweBlGWoQ" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Robert Ladstätter&lt;/strong&gt; published a video showing the new features&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://bsky.app/profile/mapton.org/post/3mfysk3uxw22d" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Mapton&lt;/strong&gt; announced&lt;/a&gt;
: &amp;ldquo;_&lt;a href="https://github.com/trixon/mapton/releases" target="_blank" rel="noopener noreferrer"&gt;Here is a new version of Mapton&lt;/a&gt;
!, &amp;lsquo;some kind of map application&amp;rsquo;, built with Jva &amp;amp; JavaFX on the Netbeans platform. Let&amp;rsquo;s call this one the &lt;code&gt;MARKDOWN_HASHca329fd857db05db392388a1d1c2b7f9MARKDOWN&lt;/code&gt;&lt;em&gt;HASH&lt;/em&gt;. Enjoy!&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.linkedin.com/feed/update/urn:li:groupPost:10070360-7435938631854419968/" target="_blank" rel="noopener noreferrer"&gt;Message by &lt;strong&gt;Jakob Jenkov&lt;/strong&gt;&lt;/a&gt;
 : &amp;ldquo;&lt;em&gt;I have started the process of building up the Polymorph Player in Java 25 and JavaFX 25. The code will now be located in the &lt;a href="https://github.com/jjenkov/polymorph" target="_blank" rel="noopener noreferrer"&gt;Polymorph mono-repo&lt;/a&gt;
. The first bits are already there, but the player app does not do anything yet, except starting up 😊 But from now on, you can always clone or pull this repo to see just exactly how much is working, officially. This is a project where we can allow ourselves to question the entire current status quo of tech. Some should be kept - but other parts could probably be replaced with better formats / models / architectures. Let&amp;rsquo;s experiment to see what works, and what doesn&amp;rsquo;t.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/fredericksalazar/OllamaFX/releases/tag/v0.5.0" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Frederick Salazar&lt;/strong&gt; released OllamaFX v0.5.0&lt;/a&gt;
. &amp;ldquo;&lt;em&gt;OllamaFX is a modern, native desktop client for Ollama, built with JavaFX. It provides a beautiful, user-friendly interface to manage your local LLMs and chat with them, featuring a sleek GNOME/Adwaita-inspired design.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Robert von Burg&lt;/strong&gt; shared the &lt;a href="https://github.com/eitch/LumineLog" target="_blank" rel="noopener noreferrer"&gt;sources of LumineLog&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;A modern, cross-platform log viewer application built with JavaFX. It provides a real-time &amp;rsquo;tail -f&amp;rsquo; experience with powerful highlighting and multi-file support.&lt;/em&gt; &amp;quot;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://mstdn.gsi.li/@eitch/116285194315067384" target="_blank" rel="noopener noreferrer"&gt;Release of LumineLog 0.3.0&lt;/a&gt;
: &amp;ldquo;_A modern, cross-platform log viewer application built with JavaFX. It provides a real-time &lt;code&gt;MARKDOWN_HASHc21d50ccb3e2b0daf559d6015794f6a7MARKDOWN&lt;/code&gt;&lt;em&gt;HASH&lt;/em&gt; experience with powerful highlighting and multi-file support. As always, feedback is welcome. Feel free to &lt;a href="https://github.com/eitch/LumineLog" target="_blank" rel="noopener noreferrer"&gt;raise a ticket&lt;/a&gt;
.&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://bsky.app/profile/rladstaetter.bsky.social/post/3mhaoaaiw6s2k" target="_blank" rel="noopener noreferrer"&gt;Message by &lt;strong&gt;Robert Ladstätter&lt;/strong&gt;&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;Just released CameraApp on Windows and Linux appstores! &lt;a href="https://github.com/rladstaetter/CameraApp" target="_blank" rel="noopener noreferrer"&gt;Check out this project&lt;/a&gt;
 which resurrects my old passion of doing work with JavaCV and JavaFX. This project can be used as a starting point for experiments with OpenCV and Java.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-2-components-libraries-tools"&gt;Components, Libraries, Tools&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Frank Delporte&lt;/strong&gt; announced the first release of Lottie4J, a new Java(FX) library: &amp;ldquo;&lt;em&gt;With this library, you can load and parse LottieFiles animations as Java objects, and integrate them as a JavaFX animation component in your application. Watch &lt;a href="https://www.youtube.com/watch?v=6t1O7APENIo" target="_blank" rel="noopener noreferrer"&gt;this video for more info&lt;/a&gt;
 or &lt;a href="https://webtechie.be/post/2026-03-03-introducing-lottie4j/" target="_blank" rel="noopener noreferrer"&gt;read this blog&lt;/a&gt;
.&lt;/em&gt; &amp;quot;
&lt;ul&gt;
&lt;li&gt;Followed by release V1.1.0 of &lt;a href="https://github.com/lottie4j/lottie4j" target="_blank" rel="noopener noreferrer"&gt;Lottie4J&lt;/a&gt;
, a JavaFX player for LottieFiles animations. &amp;ldquo;&lt;em&gt;This release includes improved rendering and additional debugging tools. And of course, it also uses the new and animated Lottie4J logo for testing 😉&lt;/em&gt; &amp;quot; All info and a video demonstration are available &lt;a href="https://lottie4j.com/releases/" target="_blank" rel="noopener noreferrer"&gt;on the website in the release notes&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;And another release: &amp;ldquo;&lt;em&gt;Version 1.2.0 of &lt;a href="https://lottie4j.com/index.html" target="_blank" rel="noopener noreferrer"&gt;Lottie4J&lt;/a&gt;
 is out, and it&amp;rsquo;s again a big release! The headline feature is support for the dotLottie zip-container format, but that&amp;rsquo;s just the start. This release also brings marker-based playback, cropping, adaptive rendering, significant performance improvements, and a lot of core model fixes driven by testing more complex real-world animations. Detailed info and a video showing all new features are &lt;a href="https://webtechie.be/post/2026-03-20-release-1.2.0-of-lottie4j/" target="_blank" rel="noopener noreferrer"&gt;explained in this blog post&lt;/a&gt;
.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;A &lt;a href="https://dev.to/liu_tiger_ef0f0505e13c8be/javafx-ui-automation-challenges-existing-tools-and-real-world-event-handling-problems-57k" target="_blank" rel="noopener noreferrer"&gt;good read by &lt;strong&gt;Liu Tiger&lt;/strong&gt;&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;JavaFX UI Automation: Challenges, Existing Tools, and Real-World Event Handling Problems. Automation testing has become a fundamental component of modern software engineering. In web development, automation ecosystems such as Selenium, Playwright, and Cypress are mature and widely adopted. However, the situation is very different for Java desktop applications, particularly those built using JavaFX.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.linkedin.com/in/pavelcastornii/" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Pavel Castornîi&lt;/strong&gt;&lt;/a&gt;
 is preparing a new release of &lt;a href="https://github.com/techsenger/tabshell" target="_blank" rel="noopener noreferrer"&gt;TabShell&lt;/a&gt;
, &amp;ldquo;&lt;em&gt;a platform for building tab-based applications in JavaFX, where an application is structured as a tree of MVP components, each of which has its own lifecycle, history, etc. The platform provides abstract classes for creating the main types of components: tab, area, page, dialog, and popup, as well as containers for them.&lt;/em&gt;&amp;rdquo; Try it out and let him know if there are any remarks&amp;hellip;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/HanSolo/svgconverter" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Gerrit Grunwald&lt;/strong&gt; created svgconverter&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;An SVG to JavaFX converter that can handle nearly everything except animations and masking. You can load a svg file and render it either to the JavaFX SceneGraph using nodes or to the JavaFX Canvas. It took some time to get the Canvas thing working because it is missing some things but now it works kind of ok.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Dirk Lemmermann&lt;/strong&gt; announced: &amp;ldquo;&lt;em&gt;I created a new &lt;a href="https://dlsc-software-consulting-gmbh.github.io/GemsFX/" target="_blank" rel="noopener noreferrer"&gt;website for GemsFX&lt;/a&gt;
 that will give you an idea which controls are available in this library.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://bsky.app/profile/leewyatt.bsky.social/post/3mhvd52wuks2u" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Lee Wyatt&lt;/strong&gt; shared the new library CarouselFX&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;A JavaFX carousel / slideshow component with 70+ built-in transition effects.&lt;/em&gt; &amp;quot; &lt;a href="https://www.youtube.com/watch?v=oFeuHs_HFwU" target="_blank" rel="noopener noreferrer"&gt;Demo on YouTube&lt;/a&gt;
 and &lt;a href="https://github.com/dlsc-software-consulting-gmbh/CarouselFX" target="_blank" rel="noopener noreferrer"&gt;sources on GitHub&lt;/a&gt;
.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-3-podcasts-videos-books"&gt;Podcasts, Videos, Books&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=5T5DI23rJxE" target="_blank" rel="noopener noreferrer"&gt;GNUBSD404 Long N162 PacMan XXL (JavaFX Game) (Linux/FreeBSD)&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;This is another example of a &amp;ldquo;Quality&amp;rdquo; game on Linux made by some developers. THANKS ! to this developers is that Linux/FreeBSD gaming (and off course thanks to Valve and Steam) is alive!. The game is available on Linux andFreeBSD may work with OpenJDK or may require Linuxuator.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;New video by &lt;strong&gt;Helal Anwar&lt;/strong&gt; : &lt;a href="https://www.youtube.com/watch?v=ZHnSynN5R3Y" target="_blank" rel="noopener noreferrer"&gt;Student management app (Part 6)&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Florian Enner&lt;/strong&gt; published a video demonstrating &lt;a href="https://www.youtube.com/live/B5GT9XAcqB8" target="_blank" rel="noopener noreferrer"&gt;HebiCharts&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;A 2D and 3D plotting library built in JavaFX with ChartFX, compiled as GraalVM native-image, and accessible from Python / C++ / MATLAB via idiomatic interface over a C ABI.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-4-miscellaneous"&gt;Miscellaneous&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://bsky.app/profile/rladstaetter.bsky.social/post/3mg3f6kort22e" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Robert Ladstätter&lt;/strong&gt; is experimenting with JavaFX 26 and shared a video&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;Vibe coding an editable ToolBar for #JavaFX supporting drag&amp;rsquo;n drop for the editable Search Term Toolbar Feature. It is amazing how easy it is to implement such things with JavaFX. Looking forward to JavaFX26 which will be released soon.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://dev.to/sikorsky43/building-a-tcp-group-chat-app-with-javafx-and-maven-1e46" target="_blank" rel="noopener noreferrer"&gt;Interesting read by &lt;strong&gt;SikorSky&lt;/strong&gt;&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;Building a Real-Time Group Chat with Java TCP Sockets and JavaFX. We recently implemented a mini project where the objective was to build a real-time group chat application using Java TCP sockets and JavaFX. This article summarizes the architecture, design decisions, and lessons learned during development.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://bsky.app/profile/dlemmermann.bsky.social/post/3mgflg35sgc2u" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Dirk Lemmermann&lt;/strong&gt;&lt;/a&gt;
 &amp;ldquo;&lt;em&gt;did some more evaluation of GitHub Copilot CLI today and built a nice launcher app for my GemsFX open source project. The productivity I get out of this surpassed all my expectations.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://gluonhq.com/why-spend-a-week-on-a-bug-that-we-can-fix-in-an-hour/" target="_blank" rel="noopener noreferrer"&gt;Post by Gluon&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;We&amp;rsquo;ve all been there. You&amp;rsquo;re working on a JavaFX application, and you hit that wall. Maybe it&amp;rsquo;s a strange rendering glitch on a specific OS, a memory leak you can&amp;rsquo;t pin down, or a performance bottleneck that only appears in production. You search the forums. You check Stack Overflow. You spend days tweaking code, hoping for a breakthrough. There is a faster way! To make it easier for teams to experience the value of expert support, we are introducing a one-time JavaFX Quick-Fix Package.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-5-jfx-central"&gt;JFX Central&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;New content on JFX Central:
&lt;ul&gt;
&lt;li&gt;Library: &lt;a href="https://www.jfx-central.com/libraries/lottie4j" target="_blank" rel="noopener noreferrer"&gt;Lottie4J&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Libraries: &lt;a href="https://www.jfx-central.com/libraries/tabshell" target="_blank" rel="noopener noreferrer"&gt;TabShell&lt;/a&gt;
 got updated.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Internal improvements in JFX Central with latest release of &lt;a href="https://www.jpro.one/" target="_blank" rel="noopener noreferrer"&gt;JPro&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://bsky.app/profile/dlemmermann.bsky.social/post/3mgs3b37pjc2p" target="_blank" rel="noopener noreferrer"&gt;Screenshots shared by &lt;strong&gt;Dirk Lemmermann&lt;/strong&gt;&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;Thanks to the efforts of several open source developers we can now display syntax-highlighted code in markdown files via JPro Markdown by &lt;a href="https://bsky.app/profile/floriankirmaier.bsky.social" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Florian Kirmaier&lt;/strong&gt;&lt;/a&gt;
. Available hopefully by the end of the week.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://bsky.app/profile/dlemmermann.bsky.social/post/3mhxunuetrk2h" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Dirk Lemmermann&lt;/strong&gt; shared another screenshot&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;We finally moved to JavaFX 25 for JFX Central and this now allows us to use StageStyle.EXTENDED. Sounds like a minor thing but allows apps to look much more native than before. No more custom resizing borders and behaviour.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;The JavaFX Links Of The Week of February got bundled and &lt;a href="https://foojayio.github.io/website/today/javafx-links-of-february-2026/"&gt;published on Foojay.io&lt;/a&gt;
.&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Lottie4J 1.2.0: dotLottie Support, Marker Playback, Cropping, and a Big Speed Boost</title><link>https://foojayio.github.io/website/today/lottie4j-1-2-0-dotlottie-support-marker-playback-cropping-and-a-big-speed-boost/</link><pubDate>Tue, 24 Mar 2026 07:51:00 +0000</pubDate><guid>https://foojayio.github.io/website/today/lottie4j-1-2-0-dotlottie-support-marker-playback-cropping-and-a-big-speed-boost/</guid><description>&lt;p&gt;Version 1.2.0 of &lt;a href="https://lottie4j.com" target="_blank" rel="noopener noreferrer"&gt;Lottie4J&lt;/a&gt;
 is out, and it&amp;rsquo;s again a big release! The headline feature is support for the &lt;code&gt;.lottie&lt;/code&gt; container format, but that&amp;rsquo;s just the start. This release also brings marker-based playback, cropping, adaptive rendering, significant performance improvements, and a lot of core model fixes driven by testing more complex real-world animations.&lt;/p&gt;
&lt;div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;"&gt;
			&lt;iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube.com/embed/9lE6UO8XNpU?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video"&gt;&lt;/iframe&gt;
		&lt;/div&gt;

&lt;h2 id="h2-0-dotlottie-file-support"&gt;dotLottie File Support&lt;/h2&gt;
&lt;p&gt;Until now, Lottie4J only supported the plain JSON format (&lt;code&gt;.json&lt;/code&gt;). That&amp;rsquo;s the original Lottie format, but LottieFiles also introduced a newer container format: &lt;code&gt;.lottie&lt;/code&gt;. It&amp;rsquo;s essentially a ZIP archive that can hold one or more animations, embedded images, sounds, and a manifest file that describes the contents.&lt;/p&gt;</description></item><item><title>Lottie4J 1.1.0: Better Rendering, Smarter Debugging, and an animated Lottie4J Logo!</title><link>https://foojayio.github.io/website/today/lottie4j-1-1-0-better-rendering-smarter-debugging/</link><pubDate>Fri, 13 Mar 2026 07:30:00 +0000</pubDate><guid>https://foojayio.github.io/website/today/lottie4j-1-1-0-better-rendering-smarter-debugging/</guid><description>&lt;p&gt;Just one week after the first public release of &lt;a href="https://lottie4j.com" target="_blank" rel="noopener noreferrer"&gt;Lottie4J&lt;/a&gt;
, the open-source Java library for rendering Lottie animations in JavaFX, version 1.1.0 is already out. And it&amp;rsquo;s a big one!&lt;/p&gt;
&lt;p&gt;A lot happened in that one week. A logo was designed for the project, a Lottie animation was created for that logo (naturally!), and, most importantly, a significant number of rendering improvements landed after testing a much wider range of animation files. That&amp;rsquo;s the reason for the version bump from &lt;code&gt;1.0.0&lt;/code&gt; to &lt;code&gt;1.1.0&lt;/code&gt;: there are some API changes that come with it.&lt;/p&gt;</description></item><item><title>Introducing Lottie4J, a Java(FX) Library to Parse and Play Lottie Animation Files</title><link>https://foojayio.github.io/website/today/introducing-lottie4j-a-javafx-library-to-parse-and-play-lottie-animation-files/</link><pubDate>Tue, 10 Mar 2026 08:24:00 +0000</pubDate><guid>https://foojayio.github.io/website/today/introducing-lottie4j-a-javafx-library-to-parse-and-play-lottie-animation-files/</guid><description>&lt;p&gt;I&amp;rsquo;m proud to present a new JavaFX library: &lt;strong&gt;Lottie4J&lt;/strong&gt;, that brings Lottie animations to JavaFX applications. I first learned about Lottie many years ago when we were developing a mobile app. We used Lottie animations to explain to users how to operate a physical device. The animations made the instructions so much clearer than static images or text alone.&lt;/p&gt;
&lt;p&gt;At the time, I wanted to create a similar experience in JavaFX, but I couldn&amp;rsquo;t find a JavaFX player for the Lottie format. So I decided to build one myself. What I didn&amp;rsquo;t realize then was just how complex this journey would be&amp;hellip;&lt;/p&gt;</description></item><item><title>JavaFX Links of February 2026</title><link>https://foojayio.github.io/website/today/javafx-links-of-february-2026/</link><pubDate>Sat, 28 Feb 2026 10:13:52 +0000</pubDate><guid>https://foojayio.github.io/website/today/javafx-links-of-february-2026/</guid><description>&lt;p&gt;Here are the JavaFX LinksOfTheMonth of February 2026. You can find the weekly lists on &lt;a href="https://www.jfx-central.com/links" target="_blank" rel="noopener noreferrer"&gt;jfx-central.com&lt;/a&gt;
. Did we miss anything? Is there anything you want to have included in one of the next overviews? Let us know via &lt;a href="https://foojayio.github.io/website/cdn-cgi/l/email-protection"&gt;[email protected]&lt;/a&gt;
.&lt;/p&gt;
&lt;h2 id="h2-0-applications"&gt;Applications&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Amazing work by &lt;strong&gt;CommonGround_2048&lt;/strong&gt; : &amp;ldquo;&lt;em&gt;Excited to share Cycle Power, a complete cycling ecosystem built entirely with Java! From a native mobile app to a web dashboard, it&amp;rsquo;s &amp;lsquo;Java Everywhere&amp;rsquo; in action. Huge thanks to &lt;strong&gt;Johan Vos&lt;/strong&gt; and the Gluon team for making native mobile Java a reality. It&amp;rsquo;s &amp;lsquo;Java Everywhere&amp;rsquo; in action!&lt;/em&gt; &amp;quot; Check &lt;a href="https://mastodon.social/@CommonGround_2048/116092121019823454" target="_blank" rel="noopener noreferrer"&gt;the thread on Mastodon for screenshots&lt;/a&gt;
.
&lt;ul&gt;
&lt;li&gt;&amp;ldquo;&lt;em&gt;The Mobile App (Android/iOS) uses GluonFX &amp;amp; JavaFX for a high-performance native experience.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&amp;ldquo;&lt;em&gt;The Web Dashboard is the cherry on top! Built with #WebFX, it transpiles JavaFX directly to JavaScript.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://mastodon.social/@johanvos/116093437764667818" target="_blank" rel="noopener noreferrer"&gt;Reply by &lt;strong&gt;Johan Vos&lt;/strong&gt;&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;Fantastic work! Java and JavaFX are extremely suitable for many end-to-end applications, bridging the gap between user-friendly applications and enterprise data platforms.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://foojay.social/@jabref/116025388844914606" target="_blank" rel="noopener noreferrer"&gt;JabRef news&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;In the latest development version, JabRef now supports multiple citation fetchers/providers, including SemanticScholar, crossref, opencitations, and OpenAlex. And at the bottom we provide some additional metrics from scite.ai. &lt;a href="https://builds.jabref.org/main/" target="_blank" rel="noopener noreferrer"&gt;Grab the version here&lt;/a&gt;
. PS: This version now uses also JavaFX 25.02 and JDK 25.02. -&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://bsky.app/profile/tom-doerr.bsky.social/post/3mezxgtgt3f2e" target="_blank" rel="noopener noreferrer"&gt;Message with screenshot by &lt;strong&gt;Tom Dörr&lt;/strong&gt;&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;Customizable application dock for Windows built with JavaFX.&lt;/em&gt; &amp;quot; You can &lt;a href="https://github.com/arthurdeka/cedro-modern-dock" target="_blank" rel="noopener noreferrer"&gt;find it on GitHub&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://bsky.app/profile/lidianycs.bsky.social/post/3meykpmad6s2p" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Lidiany Cerqueira&lt;/strong&gt; announced a new release of CERCA&lt;/a&gt;
, the Citation Extraction &amp;amp; Reference Checking Assistant, with support for Semantic Scholar&amp;rsquo;s API. Get it from &lt;a href="https://sourceforge.net/projects/cerca/" target="_blank" rel="noopener noreferrer"&gt;Sourceforge&lt;/a&gt;
 or check the &lt;a href="https://github.com/lidianycs/cerca" target="_blank" rel="noopener noreferrer"&gt;code on GitHub&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://bsky.app/profile/logorrr.bsky.social/post/3mfaiintmjk2v" target="_blank" rel="noopener noreferrer"&gt;Message with screenshot by LogoRRR&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;LogoRRR just got a major facelift. Analysing logs has never looked this good 😉 &lt;a href="https://www.logorrr.app/posts/release-26.1.0/" target="_blank" rel="noopener noreferrer"&gt;Get it here&lt;/a&gt;
&lt;/em&gt;.&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Vitor Pereira&lt;/strong&gt; is working on his version of Wireshark and &lt;a href="https://www.linkedin.com/posts/vitordef_java-softwareengineering-performance-activity-7431169143522914304-vOW8/" target="_blank" rel="noopener noreferrer"&gt;shared some ot the challenges and solutions&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;The result was a 5x reduction in RAM usage. I dropped from 5GB on 800,000 packets down to just 1GB.&lt;/em&gt; &amp;quot; Check &lt;a href="https://github.com/VitorDeF/PacketAnalyser" target="_blank" rel="noopener noreferrer"&gt;Java Packet Analyzer on GitHub&lt;/a&gt;
 for the sources.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-1-components-libraries-tools"&gt;Components, Libraries, Tools&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Library updates by &lt;strong&gt;Dirk Lemmermann&lt;/strong&gt; :
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://bsky.app/profile/dlemmermann.bsky.social/post/3mdv6tqelnk2a" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Dirk Lemmermann&lt;/strong&gt; shared a screenshot&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;Just finished putting a &amp;lsquo;Mail App Demo&amp;rsquo; together for GemsFX. It shows how you can leverage the &amp;lsquo;TagsField&amp;rsquo;&amp;rdquo;&amp;rsquo; to implement the email address lookup in a user-friendly way.&lt;/em&gt; &amp;quot; Check the GemsFX library &lt;a href="https://github.com/dlsc-software-consulting-gmbh/GemsFX" target="_blank" rel="noopener noreferrer"&gt;on GitHub&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://bsky.app/profile/dlemmermann.bsky.social/post/3melv56fvhs2p" target="_blank" rel="noopener noreferrer"&gt;On Bluesky with screenshot&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;I revisited the PopOver control that I wrote years ago. I noticed that the clipping wasn&amp;rsquo;t working perfectly and that the placement logic had issues (to say the least), which caused the popover arrow to point at the wrong location. It&amp;rsquo;s all fixed now and will be in the next GemsFX release.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://bsky.app/profile/dlemmermann.bsky.social/post/3melvqalpnc2n" target="_blank" rel="noopener noreferrer"&gt;Release 3.9.0 of GemsFX&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://bsky.app/profile/dlemmermann.bsky.social/post/3mfm7pcta5223" target="_blank" rel="noopener noreferrer"&gt;Release 3.10.0 of GemsFX&lt;/a&gt;
 : &amp;ldquo;&lt;em&gt;It contains a new feature for the InfoCenterPane allowing you to specify where to show notifications (upper left, upper right, etc&amp;hellip;).&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;A new library by &lt;strong&gt;Gerrit Grunwald&lt;/strong&gt; : &lt;a href="https://github.com/HanSolo/splitflap26" target="_blank" rel="noopener noreferrer"&gt;SplitFlap 2026&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;A JavaFX implementation of a SplitFlap component.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.linkedin.com/posts/sjhannah_javafx-java-desktopdevelopment-activity-7428512640110383104-C1jH/" target="_blank" rel="noopener noreferrer"&gt;Message by &lt;strong&gt;Steve Hannah&lt;/strong&gt; on LinkedIn&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;Most desktop apps feel disconnected from the web. You can&amp;rsquo;t link directly into them. You can&amp;rsquo;t share a URL that opens a specific screen. Users have to manually navigate after launching. I just added deep linking to jDeploy 6.0 for JavaFX apps. Now you can register custom URL schemes like: &amp;lsquo;myapp://settings&amp;rsquo; and &amp;lsquo;myapp://document/123&amp;rsquo;. Click the link and your app opens directly to that view. Works on macOS, Windows, and Linux. I wrote a &lt;a href="https://www.jdeploy.com/docs/tutorials/deep-linking-javafx/" target="_blank" rel="noopener noreferrer"&gt;tutorial showing how to set it up step by step&lt;/a&gt;
.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-2-podcasts-videos-books"&gt;Podcasts, Videos, Books&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;New video by &lt;strong&gt;Helal Anwar&lt;/strong&gt; showing new features in his : &lt;a href="https://www.youtube.com/watch?v=rhRcOt3TUy4" target="_blank" rel="noopener noreferrer"&gt;Student management app (Part 5)&lt;/a&gt;
. Sources of the project &lt;a href="https://github.com/24F3004969/GradedAttendance" target="_blank" rel="noopener noreferrer"&gt;are on GitHub&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;New JavaFX In Action interview published by &lt;strong&gt;Frank Delporte&lt;/strong&gt; : &amp;ldquo;&lt;em&gt;While reviewing scientific papers, &lt;strong&gt;Lidiany Cerqueira&lt;/strong&gt; had a recurring problem: each reference needed to be checked, as more and more of them were #hallucinations introduced by LLMs and Chatbots. As a solution, she created CERCA during her Christmas holiday. Thanks to #Java, #JavaFX, open-source libraries, and free APIs, the number of references to be checked gets reduced a lot, making her work and that of many other reviewers a lot easier!&lt;/em&gt; &amp;quot; You can find the &lt;a href="https://www.youtube.com/watch?v=QVN57j1zcik" target="_blank" rel="noopener noreferrer"&gt;video interview on YouTube&lt;/a&gt;
 and &lt;a href="https://webtechie.be/post/2026-02-05-jfxinaction-lidiany-cerqueira-cerca/" target="_blank" rel="noopener noreferrer"&gt;more info in this blog post&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Frank Delporte&lt;/strong&gt; took a next stop in his &amp;ldquo;2026 #JavaOnSingleBoardComputers Journey&amp;rdquo; with four BeagleBoards (2x #Arm, 2x #RISCV). With his first quick unboxing and test, he got Java(FX) running on the BeagleY-AI. The &lt;a href="https://www.youtube.com/watch?v=pZ8hMuQbk8Y" target="_blank" rel="noopener noreferrer"&gt;video is available on YouTube&lt;/a&gt;
 with more info, links, and details &lt;a href="https://webtechie.be/post/2026-02-10-first-test-beagleboard-java/" target="_blank" rel="noopener noreferrer"&gt;in this blog post&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Frank Delporte&lt;/strong&gt; published a new interview in his &amp;ldquo;JavaFX In Action&amp;rdquo; series: &amp;ldquo;&lt;em&gt;&lt;strong&gt;Helal Anwar&lt;/strong&gt; builds impressive educational tools with Java and JavaFX. In this interview, we discuss his GradedAttendance application and other projects he&amp;rsquo;s working on.&lt;/em&gt; &amp;quot; The &lt;a href="https://www.youtube.com/watch?v=pbQZK68tplA" target="_blank" rel="noopener noreferrer"&gt;video is on YouTube&lt;/a&gt;
 with &lt;a href="https://webtechie.be/post/2026-02-19-jfxinaction-helal-anwar-gradedattendance/" target="_blank" rel="noopener noreferrer"&gt;more info in this blog post&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=0kpWW36GDKs" target="_blank" rel="noopener noreferrer"&gt;Video by &lt;strong&gt;Florian Enner&lt;/strong&gt;&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;POC: JavaFX native-image snapshots integrated into wxPython. A JavaFX application compiled as a native-image and called from Python. The wxPython GUI updates the JavaFX state and integrates the JavaFX snapshot as an image.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=7vtGXLgZ3XQ" target="_blank" rel="noopener noreferrer"&gt;Video by &lt;strong&gt;Sethlans Forge&lt;/strong&gt;&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;Vulkan rendering surface embedded inside a JavaFX application, using Java and LWJGL. This setup demonstrates how low-level Vulkan rendering can coexist with a high-level JavaFX UI, enabling tools, editors, or engine frontends built in Java while keeping full control over the GPU. This is part of the development of Sethlans, a Vulkan graphics engine written in Java, focusing on modern rendering, engine architecture, and low-level GPU control.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=q8sXNXR6iKc" target="_blank" rel="noopener noreferrer"&gt;Video by &lt;strong&gt;Ken Kousen&lt;/strong&gt;&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;I Built a Star Trek Computer with Java 25 &amp;amp; Spring AI. Is it possible to launch a full Spring Boot AI application in 35 milliseconds? Yes&amp;mdash;if you use the right tools. In this video, we aren&amp;rsquo;t just faking a sci-fi UI. We are building the actual ENGINE of a Star Trek computer using the latest in the Java ecosystem: Java 25, Spring AI, and the Model Context Protocol (MCP), using Java FX Voice Interface at 10'50&amp;rdquo;.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.linkedin.com/posts/helal-anwar-94571016b_java-javafx-iitm-activity-7428570421710557184-EY9n/" target="_blank" rel="noopener noreferrer"&gt;Video published on LinkedIn by &lt;strong&gt;Helal Anwar&lt;/strong&gt;&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;ChessFX made in 10 minutes (Fully vibe coded). Fully written in JavaFX. This is a solid version given the time we had. I believe we can leverage LLMs to build Java and JavaFX applications. If not fully fledged products, then at least substantial parts, since the ecosystem is mature and there&amp;rsquo;s plenty of data available. Just my opinion 😊.&lt;/em&gt; &amp;quot; The &lt;a href="https://github.com/24F3004969/GradedAttendance/blob/main/src/main/java/org/graded_classes/graded_attendance/test/ChessFX.java" target="_blank" rel="noopener noreferrer"&gt;source (in one single file!) is available on GitHub&lt;/a&gt;
.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-3-tutorials"&gt;Tutorials&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Nicolas Frankel&lt;/strong&gt; published do Foojay.io: &lt;a href="https://foojayio.github.io/website/today/from-a-jar-to-a-full-fledged-macos-app/"&gt;From a JAR to a full-fledged MacOS app&lt;/a&gt;
. &amp;ldquo;&lt;em&gt;The solution is straightforward: create a regular MacOS app from the UberJAR. At its simplest, a MacOS app is only a folder with a specific structure. You could replicate it by hand, but I&amp;rsquo;m lazy, and there are tools for this. jpackage is such a tool. jpackage is one of the tools I learned about, am ecstatic about, used once, and forgot until the next time. Add one to the counter.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-4-miscellaneous"&gt;Miscellaneous&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://robintegg.com/2026/02/08/java-ui-in-2026-the-complete-guide" target="_blank" rel="noopener noreferrer"&gt;Java UI in 2026: The Complete Guide&lt;/a&gt;
 by &lt;a href="https://bsky.app/profile/robintegg.bsky.social" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Robin Tegg&lt;/strong&gt;&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;When developers think about building user interfaces today, the conversation often revolves around the same familiar choices. But Java offers a fully modern, end-to-end alternative &amp;mdash; desktop, web, terminal, and even mobile apps &amp;mdash; all powered by a single language. With one cohesive Java stack, teams and AI tools can reason, build, and iterate more efficiently than ever.&lt;/em&gt; &amp;quot;
&lt;ul&gt;
&lt;li&gt;This guide (and JavaFX) are also mentioned in the &lt;a href="https://www.linkedin.com/pulse/java-reaches-gpu-records-fall-off-cliff-gatherers-prove-skowro%C5%84ski-rnqlf/" target="_blank" rel="noopener noreferrer"&gt;JVM Weekly newsletter&lt;/a&gt;
 by &lt;a href="https://bsky.app/profile/askowronski.bsky.social" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Artur Skowroński&lt;/strong&gt;&lt;/a&gt;
.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.linkedin.com/feed/update/urn:li:activity:7424168822129025024/" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Jakob Jenkov&lt;/strong&gt; shared a quick update about the Polymorph project&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;The Polymorph Player is beginning to take shape. It can only display some very simple graphics at this point, so I will not include a screenshot in this post. At this point the main structural design is reasonably in place. From here on it is hundreds, if not thousands, of small improvements that need to be added before the Player has a somewhat useful and coherent base set of functionality. These improvements are both in the Player itself, and in the Polymorph Tools toolkit - especially in the virtual machine that executes the scripts which can be run from within the Player app. Lots of work to do ! &amp;hellip; but it&amp;rsquo;s in progress ! 😊 The Player app is made with JavaFX, by the way! ☺️&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;Created by &lt;a href="https://bsky.app/profile/robintegg.bsky.social" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Robin Tegg&lt;/strong&gt;&lt;/a&gt;
: &lt;a href="https://awesome-java-ui.com/" target="_blank" rel="noopener noreferrer"&gt;Awesome Java UI&lt;/a&gt;
. &amp;ldquo;&lt;em&gt;This site provides an overview of the latest and greatest Java UI projects, frameworks and libraries, along with their status, Java version compatibility, learning curve, last release date, and more. Explore the projects to find the right Java UI solution for your needs. This is a community-driven resource, built by Java developers for Java developers. Whether you&amp;rsquo;re discovering a new framework, sharing your expertise, or helping others navigate the Java UI landscape - your contributions make this guide better for everyone. Join us in building the most comprehensive resource for Java UI development!&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-5-jfx-central"&gt;JFX Central&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;New content on JFX Central:
&lt;ul&gt;
&lt;li&gt;Video: &lt;a href="https://www.jfx-central.com/videos/QVN57j1zcik" target="_blank" rel="noopener noreferrer"&gt;JavaFX In Action with &lt;strong&gt;Lidiany Cerqueira&lt;/strong&gt; about CERCA&lt;/a&gt;
, an open-source research tool that supports the verification of bibliographic references in scientific manuscripts.&lt;/li&gt;
&lt;li&gt;Video: &lt;a href="https://www.jfx-central.com/videos/pbQZK68tplA" target="_blank" rel="noopener noreferrer"&gt;JavaFX In Action with Helal Anwar about GradedAttendance&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;JFX Central got bumped to JavaFX 25 and &lt;a href="https://www.jpro.one/" target="_blank" rel="noopener noreferrer"&gt;JPro 2026.1.1&lt;/a&gt;
 to fix a few styling issues.&lt;/li&gt;
&lt;li&gt;The links of January 2026 got &lt;a href="https://foojayio.github.io/website/today/javafx-links-of-january-2026/"&gt;published on Foojay&lt;/a&gt;
.&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>JavaFX Links of January 2026</title><link>https://foojayio.github.io/website/today/javafx-links-of-january-2026/</link><pubDate>Sat, 31 Jan 2026 08:57:06 +0000</pubDate><guid>https://foojayio.github.io/website/today/javafx-links-of-january-2026/</guid><description>&lt;p&gt;Here are the JavaFX LinksOfTheMonth of January 2026. You can find the weekly lists on &lt;a href="https://www.jfx-central.com/links" target="_blank" rel="noopener noreferrer"&gt;jfx-central.com&lt;/a&gt;
. Did we miss anything? Is there anything you want to have included in one of the next overviews? Let us know via &lt;a href="https://foojayio.github.io/website/cdn-cgi/l/email-protection"&gt;[email protected]&lt;/a&gt;
.&lt;/p&gt;
&lt;h2 id="h2-0-core"&gt;Core&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://bsky.app/profile/gluonhq.com/post/3mcwe4ha3os2f" target="_blank" rel="noopener noreferrer"&gt;Gluon published quarterly releases&lt;/a&gt;
 of:
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://gluonhq.com/products/javafx/openjfx-25-release-notes/#25.0.2" target="_blank" rel="noopener noreferrer"&gt;JavaFX 25.0.2&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://gluonhq.com/products/javafx/openjfx-21-release-notes/#21.0.10" target="_blank" rel="noopener noreferrer"&gt;JavaFX 21.0.10&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://gluonhq.com/products/javafx/openjfx-17-release-notes/#17.0.18" target="_blank" rel="noopener noreferrer"&gt;JavaFX 17.0.18&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Read more in this blog post: &amp;ldquo;&lt;a href="https://gluonhq.com/securing-the-future-of-openjfx-january-2026-critical-patch-update-released/" target="_blank" rel="noopener noreferrer"&gt;Securing the Future of OpenJFX: January 2026 Critical Patch Update Released&lt;/a&gt;
&amp;rdquo;.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://mastodon.social/@johanvos/115932393975918195" target="_blank" rel="noopener noreferrer"&gt;Message by &lt;strong&gt;Johan Vos&lt;/strong&gt;&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;Maintaining LTS versions for a project like JavaFX is complex and resource-intensive. It requires a fair amount of the Gluon resources, but it is extremely important to keep JavaFX secure, modern and relevant. You can support us at &lt;a href="https://gluonhq.com/lts" target="_blank" rel="noopener noreferrer"&gt;gluonhq.com/lts&lt;/a&gt;
.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;The &lt;a href="https://docs.azul.com/core/release-notes" target="_blank" rel="noopener noreferrer"&gt;Azul release notes&lt;/a&gt;
 show the list of &lt;a href="https://docs.azul.com/core/release-notes#fixed-common-vulnerabilities-and-exposures" target="_blank" rel="noopener noreferrer"&gt;Fixed Common Vulnerabilities and Exposures&lt;/a&gt;
 in this release. There are 11 in total, of which 7 are related to JavaFX.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://bsky.app/profile/leewyatt.bsky.social/post/3mcz3c5qogk2w" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Lee Wyatt&lt;/strong&gt; has a proposal for a missing component in JavaFX&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;It is missing a native Switch control &amp;mdash; every major UI framework has one except JavaFX. I&amp;rsquo;ve implemented a SwitchButton with full theme support. Hope to contribute to OpenJFX. &lt;a href="https://github.com/leewyatt/SwitchButtonShowcase" target="_blank" rel="noopener noreferrer"&gt;Check the README for details&lt;/a&gt;
 on why JavaFX needs this.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-1-applications"&gt;Applications&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://foojay.social/@jabref/115765522014656502" target="_blank" rel="noopener noreferrer"&gt;Message by JabRef&lt;/a&gt;
: &amp;ldquo;_Thanks to the cool feature of #javafx called the &lt;code&gt;shortcut&lt;/code&gt; modifier, we can now display and handle the keyboard shortcuts in a more OS independent way. On Linux and Windows &lt;code&gt;cmd&lt;/code&gt; key will be replaced with &lt;code&gt;ctrl&lt;/code&gt; automatically and &lt;code&gt;option&lt;/code&gt; key with &lt;code&gt;MARKDOWN_HASH34823136d0dd91d0f5d22db740f7679cMARKDOWN&lt;/code&gt;&lt;em&gt;HASH&lt;/em&gt;. &lt;a href="https://builds.jabref.org/main/" target="_blank" rel="noopener noreferrer"&gt;Grab the latest version here&lt;/a&gt;
.&amp;rdquo;
&lt;ul&gt;
&lt;li&gt;And a &lt;a href="https://blog.jabref.org/2025/12/26/JabRef6-0-alpha4/" target="_blank" rel="noopener noreferrer"&gt;blog post announcing an alpha release&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;Happy Holidays from the JabRef Team! We have a present for you: We are happy to announce the release of JabRef 6.0 Alpha 4, the next step towards the stable version of JabRef 6.0. This alpha release brings a number of bug fixes, improvements, and new features, as well as some changes under the hood in the machine room of JabRef, to make future improvements easier and JabRef more versatile.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/rladstaetter/LogoRRR/releases" target="_blank" rel="noopener noreferrer"&gt;Release v25.2.0 of LogoRRR&lt;/a&gt;
 with several improvements and bump to Java(FX) 25.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://bsky.app/profile/mapton.org/post/3malzb6knvc2p" target="_blank" rel="noopener noreferrer"&gt;Message on Bluesky by mapton.org&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;Hello, World! So, after more than three years this account is now back online posting about its development progress among other things. Mapton is powered by Java, JavaFX, and the Netbeans platform among other great open source projects.&lt;/em&gt; &amp;quot;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/trixon/mapton/releases/tag/v26.01" target="_blank" rel="noopener noreferrer"&gt;Mapton v26.01 is now available&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;Let&amp;rsquo;s start this brand new year with a brand new version of Mapton.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://bsky.app/profile/trixon.se/post/3mbmkkym63k2r" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Patrik Karlström&lt;/strong&gt; is having fun&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;As a weekend project I made an earthquake module for Mapton with data feed from usgs. The image shows recent quakes, but you can pretty much filter on any attribute. Colors indicates age in days, circle and lines the magnitude.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;A &lt;a href="https://www.reddit.com/r/JavaFX/comments/1q5m017/added_a_few_features_since_my_last_showcase_d/" target="_blank" rel="noopener noreferrer"&gt;video on Reddit of Mable&lt;/a&gt;
, a cross-platform deadline management application, created by &lt;a href="https://github.com/n-xiao" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;@n-xiao&lt;/strong&gt;&lt;/a&gt;
. Sources are &lt;a href="https://github.com/n-xiao/mable" target="_blank" rel="noopener noreferrer"&gt;available on GitHub&lt;/a&gt;
. &amp;ldquo;&lt;em&gt;Mable is an application which allows you to create Countdowns &amp;mdash; it counts down the days till a date you set. When a Countdown approaches or passes its due date, the built-in Heads Up Display will update, showing you how many Countdowns are either overdue, due today or due tomorrow. Mable is not intended to replace your Calendar or To-Do list. Instead, it provides you with a quick overview about how much time you have left for multiple deadlines.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://bsky.app/profile/lidianycs.bsky.social" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Lidiany Cerqueira&lt;/strong&gt;&lt;/a&gt;
 built a tool to detect AI-generated fake references in academic papers. A &lt;a href="https://dev.to/lidianycs/how-i-built-a-tool-to-detect-ai-generated-fake-references-2891" target="_blank" rel="noopener noreferrer"&gt;long and detailed post is available on dev.to&lt;/a&gt;
. &amp;ldquo;&lt;em&gt;Seeing the flawed metadata published in a journal was a wake-up call that led me to build CERCA, an open-source tool designed to assist researchers, reviewers, and editors in quickly verifying the accuracy of references. It was developed to improve trust, transparency, and reliability academic writing.&lt;/em&gt; &amp;quot;
&lt;ul&gt;
&lt;li&gt;She also &lt;a href="https://bsky.app/profile/lidianycs.bsky.social/post/3mdbwylfn5k27" target="_blank" rel="noopener noreferrer"&gt;announced CERCA v1.2.0-alpha&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;New feature: Manual Reference Entry. If it can&amp;rsquo;t read your PDF, paste your reference list. It&amp;rsquo;s now on &lt;a href="https://sourceforge.net/projects/cerca/" target="_blank" rel="noopener noreferrer"&gt;SourceForge&lt;/a&gt;
!&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;And in &lt;a href="https://bsky.app/profile/lidianycs.bsky.social/post/3mdfr5scukk2u" target="_blank" rel="noopener noreferrer"&gt;another message from &lt;strong&gt;Lidiany&lt;/strong&gt; on Bluesky&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;Started the day chatting with &lt;strong&gt;Frank Delporte&lt;/strong&gt; . We had a great time talking about Java, JavaFX, and CERCA. I highly recommend his &lt;a href="https://www.youtube.com/@FrankDelporte" target="_blank" rel="noopener noreferrer"&gt;YouTube channel&lt;/a&gt;
, if you&amp;rsquo;re interested in Java.&lt;/em&gt;&amp;rdquo; The recording of that interview will soon be available on YouTube in the #JFXInAction series.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-2-games"&gt;Games&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://bsky.app/profile/defold.com/post/3mczvnpdups2i" target="_blank" rel="noopener noreferrer"&gt;Defold Engine&lt;/a&gt;
 published their &lt;a href="https://www.youtube.com/watch?v=XCgJ3T-_1oE" target="_blank" rel="noopener noreferrer"&gt;Showreel 2025&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;We&amp;rsquo;ve gathered some of the best #MadeWithDefold games released over the past year in our traditional annual video.&lt;/em&gt; &amp;quot;
&lt;ul&gt;
&lt;li&gt;Defold is a completely free to use game engine for development of console, desktop, mobile and web games created with JavaFX. Check the &lt;a href="https://www.jfx-central.com/showcases/defold" target="_blank" rel="noopener noreferrer"&gt;showcase on JFX Central&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.jfx-central.com/videos/1JL6zdkM1GU" target="_blank" rel="noopener noreferrer"&gt;Here is an interview with Vlad Protsenko&lt;/a&gt;
, one of the developers of Defold and the creator of &lt;a href="https://www.jfx-central.com/tools/cljfx" target="_blank" rel="noopener noreferrer"&gt;Cljfx, a declarative, functional and extensible wrapper of JavaFX for Clojure&lt;/a&gt;
.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://bsky.app/profile/markjkoch.bsky.social/post/3md5evj5yrc2z" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Mark J. Koch&lt;/strong&gt; shares a screenshot on Bluesky&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;I&amp;rsquo;ve made a lot of progress on my neuromancerpc restoration and it&amp;rsquo;s largely playable (let&amp;rsquo;s call it alpha), but I&amp;rsquo;m not done reverse engineering the original game&amp;rsquo;s data files&amp;hellip;&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-3-components-libraries-tools"&gt;Components, Libraries, Tools&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;A lot of library updates by &lt;strong&gt;Dirk Lemmermann&lt;/strong&gt; this month!
&lt;ul&gt;
&lt;li&gt;About FlexGanttFX: &amp;ldquo;&lt;em&gt;I finally managed to create a jdeploy installer for FlexGanttFX. You can find it on the updated &lt;a href="https://www.flexganttfx.com/" target="_blank" rel="noopener noreferrer"&gt;FlexGanttFX.com website&lt;/a&gt;
 under &amp;lsquo;Downloads/Demo&amp;rsquo;. The demo shows how this custom JavaFX component manages to draw thousands and thousands of activities below a timeline.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&amp;ldquo;&lt;em&gt;A new FlexGanttFX demo app installer is &lt;a href="https://www.jdeploy.com/~flexganttfxsampler" target="_blank" rel="noopener noreferrer"&gt;available online now&lt;/a&gt;
&amp;hellip; These are basically interactive unit tests for various features available by this control. If you are doing planning and scheduling apps, this control is for you.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://bsky.app/profile/dlemmermann.bsky.social/post/3mal46a7y522e" target="_blank" rel="noopener noreferrer"&gt;This screenshot of a FlexGanttFX demo&lt;/a&gt;
 shows how it can be used to visualise a project plan imported from MSProject.&lt;/li&gt;
&lt;li&gt;About FxmlKit: it&amp;rsquo;s a modern JavaFX FXML framework with hot reload, zero-configuration loading, and optional dependency injection. &lt;a href="https://bsky.app/profile/leewyatt.bsky.social/post/3maoeqzsizs2h" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Lee Wyatt&lt;/strong&gt; shared a video on Bluesky&lt;/a&gt;
 and &lt;a href="https://www.youtube.com/watch?v=FwZNcqjZ1kY" target="_blank" rel="noopener noreferrer"&gt;on YouTube&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;Implementing FXML and CSS hot reloading in FxmlKit. Edit, save, and see the results immediately. No more rebuild-restart loops!&lt;/em&gt; &amp;quot; And &lt;a href="https://bsky.app/profile/dlemmermann.bsky.social/post/3manngcfpf222" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Dirk Lemmermann&lt;/strong&gt; announced v1.5&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://bsky.app/profile/dlemmermann.bsky.social/post/3md46lrvfss2p" target="_blank" rel="noopener noreferrer"&gt;Release 3.4.2 of PDFViewFX is out now&lt;/a&gt;
. &amp;ldquo;&lt;em&gt;The visual properties of the view can now be styled via CSS and not just via API.&lt;/em&gt; &amp;quot; &lt;a href="https://github.com/dlsc-software-consulting-gmbh/PDFViewFX" target="_blank" rel="noopener noreferrer"&gt;More info on GitHub&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://bsky.app/profile/dlemmermann.bsky.social/post/3md45wshhz22p" target="_blank" rel="noopener noreferrer"&gt;Release 3.8.3 of GemsFX is out&lt;/a&gt;
. &amp;ldquo;&lt;em&gt;It contains a couple of bug fixes and new capabilities for the SessionManager (used to persist observable values into the preferences store).&lt;/em&gt; &amp;quot; &lt;a href="https://github.com/dlsc-software-consulting-gmbh/GemsFX" target="_blank" rel="noopener noreferrer"&gt;More info on GitHub&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://bsky.app/profile/dlemmermann.bsky.social/post/3mdfwzfcg6c2f" target="_blank" rel="noopener noreferrer"&gt;Release 1.3.0 of #KeyboardFX is out&lt;/a&gt;
. &amp;ldquo;&lt;em&gt;This is a maintenance release used to replace javax.xml with jakarta.xml.&lt;/em&gt; &amp;quot; &lt;a href="https://github.com/dlsc-software-consulting-gmbh/KeyboardFX" target="_blank" rel="noopener noreferrer"&gt;More info on GitHub&lt;/a&gt;
.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-4-podcasts-videos-books"&gt;Podcasts, Videos, Books&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Published on Foojay: &lt;a href="https://foojayio.github.io/website/today/video-series-javafx-in-action-part-6/"&gt;Video series &amp;ldquo;JavaFX In Action&amp;rdquo;, Part 6&lt;/a&gt;
 with &lt;strong&gt;Vlad Protsenko&lt;/strong&gt; (Clojure), &lt;strong&gt;Matt Coley&lt;/strong&gt; (Recaf), &lt;strong&gt;Craig Raw&lt;/strong&gt; (Sparrow), and &lt;strong&gt;Florian Enner&lt;/strong&gt; (3D Robot Visualization).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Helal Anwar&lt;/strong&gt; shared a new video: &lt;a href="https://www.youtube.com/watch?v=ADb44wswVs0" target="_blank" rel="noopener noreferrer"&gt;Devlog 4| Student management app (Part 4)&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Frank Delporte&lt;/strong&gt; continues his #JavaOnSingleBoardComputers and &lt;a href="https://www.youtube.com/watch?v=X_t8DiUWBUo" target="_blank" rel="noopener noreferrer"&gt;published a video&lt;/a&gt;
 and &lt;a href="https://webtechie.be/post/2026-01-12-first-test-orangepi-java/" target="_blank" rel="noopener noreferrer"&gt;blog with more info&lt;/a&gt;
 showing Java and JavaFX on an OrangePi 5 Ultra with ARM processor. As expected, JavaFX doesn&amp;rsquo;t work on an OrangePi RV2 with RISC-V processor. Challenge for 2026: Who can build JavaFX on RISC-V?&lt;/li&gt;
&lt;li&gt;A video by &lt;strong&gt;Binary Academy&lt;/strong&gt; : &lt;a href="https://www.youtube.com/watch?v=ISFUT9Aax8U" target="_blank" rel="noopener noreferrer"&gt;JavaFX 3D Solar System Full Animation Tutorial | Planets Orbiting Around the Sun&lt;/a&gt;
.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-5-tutorials"&gt;Tutorials&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Carl Dea&lt;/strong&gt; updated his blog series from 2022 on Foojay.io &lt;a href="https://foojay.social/@foojay/115818063541453234" target="_blank" rel="noopener noreferrer"&gt;&amp;ldquo;Project Panama for Newbies&amp;rdquo;&lt;/a&gt;
. In &lt;a href="https://foojayio.github.io/website/today/project-panama-for-newbies-part-4/"&gt;Part 4 you can read more&lt;/a&gt;
 about &amp;ldquo;&lt;em&gt;Imagine C code capable of performing a computation and after its completion the C code will notify Java code to perform updates to JavaFX UI components&amp;hellip;&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;Post by &lt;strong&gt;iifx.dev&lt;/strong&gt; : &lt;a href="https://iifx.dev/en/articles/460354306/from-modules-to-databases-solving-hibernate-visibility-issues-in-javafx-and-maven" target="_blank" rel="noopener noreferrer"&gt;From Modules to Databases: Solving Hibernate Visibility Issues in JavaFX and Maven&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;Integrating Jakarta Persistence (JPA)&amp;mdash;specifically Hibernate&amp;mdash;into a modular (JPMS) JavaFX application can be a bit like solving a puzzle. Because the Java Module System is very strict about visibility, getting Hibernate to talk to your private entities requires a few specific &amp;lsquo;handshakes.&amp;rsquo; Here is a guide to getting this working smoothly.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;Video tutorial by &lt;strong&gt;Hacktrickz&lt;/strong&gt; : &amp;ldquo;&lt;a href="https://www.youtube.com/watch?v=CtKEM_giUIw" target="_blank" rel="noopener noreferrer"&gt;31.1: JavaFX Introduction, Setup &amp;amp; Application Structure| [Abdul Bari] Java course&lt;/a&gt;
&amp;rdquo;&lt;/li&gt;
&lt;li&gt;Video tutorial by &lt;strong&gt;Kawsar Technologies&lt;/strong&gt; : &amp;ldquo;&lt;a href="https://www.youtube.com/watch?v=ghRx5TcR5W4" target="_blank" rel="noopener noreferrer"&gt;Part 13 | User Management System in JavaFX &amp;amp; MySQL | Fetch Assigned Roles &amp;amp; Display Them in Table&lt;/a&gt;
&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-6-miscellaneous"&gt;Miscellaneous&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://bsky.app/profile/dlemmermann.bsky.social/post/3mal5vjvgpk2n" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Dirk Lemmermann&lt;/strong&gt; on Bluesky&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;The online JavaFX &amp;lsquo;Ensemble&amp;rsquo; demos are pretty cool. Wished more library developers would leverage it. Check &lt;a href="https://www.jfx-ensemble.com" target="_blank" rel="noopener noreferrer"&gt;jfx-ensemble.com&lt;/a&gt;
.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://bsky.app/profile/mattcoley.bsky.social/post/3mbvlnisiys2z" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Matt Coley&lt;/strong&gt; is asking for feedback&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;Any JavaFX people experience removed nodes being stuck around in memory after they&amp;rsquo;ve been removed from the scene graph? If I have a node that has a ~500 MB byte array, and then I remove it, I should be able to expect that to be freeable right?&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;Found &lt;a href="https://news.ycombinator.com/item?id=43860582" target="_blank" rel="noopener noreferrer"&gt;on Hacker News by &lt;strong&gt;ezst&lt;/strong&gt;&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;Call me an idiot, but I still gladly take Swing and javafx over JS and monstrosities like react. The state of Qt is also very good. Web won because the distribution model is easier on the user, and because managers thought UX designers would be making whole apps now, saving on rates. Not because it&amp;rsquo;s technically superior.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;In March 2024, ArcGIS announced that they were deprecating ArcGIS Maps SDK for Java. In a new &lt;a href="https://www.esri.com/arcgis-blog/products/sdk-java/developers/using-arcgis-maps-sdk-for-qt-in-a-javafx-based-application" target="_blank" rel="noopener noreferrer"&gt;blog post by &lt;strong&gt;Lucas Danzinger&lt;/strong&gt;&lt;/a&gt;
 they explore a technique of using ArcGIS Maps SDK for Qt as a map control in a JavaFX based application: &amp;ldquo;&lt;em&gt;Through the above techniques, we&amp;rsquo;ve shown that it is possible to display a Qt MapView in Java, as well as to have two-way communication between Java and Qt via JNI. While this example is by no means a silver bullet, we hope that it might be an inspiration on how you can continue to move forward with your JavaFX apps using the latest ArcGIS technology.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;Interesting &lt;a href="https://github.com/webfx-project/webfx/discussions/59" target="_blank" rel="noopener noreferrer"&gt;discussion on GitHub&lt;/a&gt;
: Can &lt;a href="https://cheerpj.com/" target="_blank" rel="noopener noreferrer"&gt;CheerpJ&lt;/a&gt;
 be integrated in &lt;a href="https://github.com/webfx-project/webfx" target="_blank" rel="noopener noreferrer"&gt;WebFX&lt;/a&gt;
?
&lt;ul&gt;
&lt;li&gt;&amp;ldquo;&lt;em&gt;CheerpJ is a JVM and a distribution of OpenJDK for the browser in WebAssembly and JavaScript. Now supporting Java 8, Java 11 and Java 17 (preview), with Java 21+ coming in 2026.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&amp;ldquo;&lt;em&gt;WebFX is a JavaFX application transpiler powered by GWT. It can transpile a JavaFX application into a traditional self-contained pure JavaScript web app (with no plugin or server required for its execution in the browser).&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-7-jfx-central"&gt;JFX Central&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;New content on JFX Central:
&lt;ul&gt;
&lt;li&gt;Library: &lt;a href="https://www.jfx-central.com/libraries/fxmlkit" target="_blank" rel="noopener noreferrer"&gt;FxmlKit&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;A modern JavaFX FXML framework that eliminates boilerplate code, provides FXML/CSS hot reload, and optional progressive dependency injection support.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;Tools: &lt;a href="https://www.jfx-central.com/tools/fxtools" target="_blank" rel="noopener noreferrer"&gt;FXTools&lt;/a&gt;
 created by &lt;strong&gt;Lee Wyatt&lt;/strong&gt; : &amp;ldquo;&lt;em&gt;A practical desktop toolkit for JavaFX developers, providing image processing, color picking, SVG path extraction, font preview, and more.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;The links of December got &lt;a href="https://foojayio.github.io/website/today/javafx-links-of-december-2025/"&gt;published on Foojay&lt;/a&gt;
.&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>JavaFX Links of December 2025</title><link>https://foojayio.github.io/website/today/javafx-links-of-december-2025/</link><pubDate>Wed, 31 Dec 2025 06:05:54 +0000</pubDate><guid>https://foojayio.github.io/website/today/javafx-links-of-december-2025/</guid><description>&lt;p&gt;Here is the final JavaFX LinksOfTheMonth for 2025&amp;hellip; Thank you all for sharing your knowledge and experience with JavaFX. And we hope to see even more in the next year!&lt;/p&gt;
&lt;p&gt;You can find the weekly lists on &lt;a href="https://www.jfx-central.com/links" target="_blank" rel="noopener noreferrer"&gt;jfx-central.com&lt;/a&gt;
. Did we miss anything? Is there anything you want to have included in one of the next overviews? Let us know via &lt;a href="https://foojayio.github.io/website/cdn-cgi/l/email-protection"&gt;[email protected]&lt;/a&gt;
.&lt;/p&gt;
&lt;h2 id="h2-0-core"&gt;Core&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=ra-VYA7gvBg" target="_blank" rel="noopener noreferrer"&gt;A one second, but still impressive, video on YouTube by Carl Dea&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;I was able to get 100,000-2M particles ~ 120fps using Apple&amp;rsquo;s Metal API on M4/GPU, using Java 25 FFM (project Panama), JavaFX WritableImage API. Of course there are more optimizations but really excited to be able to mix Java/JavaFX code with native bindings in a memory safe way. Still more to learn and do. There are different strategies to avoid data copies between CPU and GPU.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-1-applications"&gt;Applications&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Juan Antonio Breña Moral&lt;/strong&gt; created an &amp;ldquo;animated spinning ripple surface rendered with JavaFX&amp;rdquo; using &lt;code&gt;MemorySegment&lt;/code&gt; from the FFM API (Java 22+), &lt;a href="https://openjdk.org/jeps/454" target="_blank" rel="noopener noreferrer"&gt;JEP 454&lt;/a&gt;
, to increase performance. &lt;a href="https://github.com/jabrena/sombrero" target="_blank" rel="noopener noreferrer"&gt;Sources and screenshot on GitHub&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://fosstodon.org/@trixon/115741355988091625" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Patrik Karlström&lt;/strong&gt; released CRIC 25.12&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;CRIC is a Java custom runtime image creator, a GUI for jlink. It&amp;rsquo;s built with JDK 25, JavaFX and the Netbeans platform. &lt;a href="https://github.com/trixon/cric/releases/tag/v25.12" target="_blank" rel="noopener noreferrer"&gt;Downloads available for Windows and Linux&lt;/a&gt;
, including appimage and Snap.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-2-components-libraries-tools"&gt;Components, Libraries, Tools&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://bsky.app/profile/dlemmermann.bsky.social/post/3m7asibknqc2u" target="_blank" rel="noopener noreferrer"&gt;Message by &lt;strong&gt;Dirk Lemmermann&lt;/strong&gt; on Bluesky&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;Check out FXMLKit. Another convention-over-configuration framework that removes boilerplate code for loading screens done in FXML. It is inspired by afterburner.fx but also supports JPro multi-user sessions and dependency injection for nested components.&lt;/em&gt; &amp;quot; &lt;a href="https://github.com/dlsc-software-consulting-gmbh/FxmlKit" target="_blank" rel="noopener noreferrer"&gt;Sources and more description on GitHub&lt;/a&gt;
 and available from Maven Central.
&lt;ul&gt;
&lt;li&gt;Version 1.2.0: &amp;ldquo;&lt;em&gt;It now also supports hot reloading of FXML and CSS. Yes, that&amp;rsquo;s right &amp;hellip; see the changes you made to FXML without restarting your application.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://bsky.app/profile/dlemmermann.bsky.social/post/3m7rvb7x5lk2z" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Dirk Lemmermann&lt;/strong&gt; announced v1.3.0 of FxmlKit&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;Fixing an issue related to hot reloading of user agent stylesheets of custom controls. It had too many side-effects. It can still be enabled, but by default it is off.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-3-podcasts-videos-books"&gt;Podcasts, Videos, Books&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://webtechie.be/post/2025-12-04-jfxinaction-florian-enner-robot-3d-charts/" target="_blank" rel="noopener noreferrer"&gt;A new JFXInAction interview by &lt;strong&gt;Frank Delporte&lt;/strong&gt;&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;&lt;strong&gt;Florian Enner&lt;/strong&gt; impressed me at the Devoxx conference with his 3D visualizations and scientific charts with millions of points, showing real-time data received from robots and sensors. And using the same code, he does this in both desktop and mobile apps! Awe-inspiring work, making maximum use of the powers of hashtag#Java to combine network communication with a JavaFX user interface. And he also shows some amazing things with a JavaFX UI in a C++ application!&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Lazy Brownie&lt;/strong&gt; recorded the coding process of a &lt;a href="https://www.youtube.com/watch?v=veZXcM_Glfc&amp;amp;t=1886s" target="_blank" rel="noopener noreferrer"&gt;Two Player Pong&lt;/a&gt;
. No shared code, no comments, just some relaxed music and a screen recording 🙂&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-4-tutorials"&gt;Tutorials&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;New tutorial videos this week by &lt;strong&gt;Troels Mortensen&lt;/strong&gt; :
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=_vEapBhebPs" target="_blank" rel="noopener noreferrer"&gt;The Controller Factory&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=gxKpus7t8w0" target="_blank" rel="noopener noreferrer"&gt;Changing views through events&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-5-miscellaneous"&gt;Miscellaneous&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;A &lt;a href="https://bsky.app/profile/deadsuperhero.com/post/3m74qyncm7k2v" target="_blank" rel="noopener noreferrer"&gt;Bluesky thread by &lt;strong&gt;Sean Tilley&lt;/strong&gt;&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;For my capstone project in Computer Science, I&amp;rsquo;m writing a desktop music player in Java. I&amp;rsquo;ve never tried to build one before, but it seems like a decent challenge, and it covers the different data structures we&amp;rsquo;ve learned about. &amp;hellip; Playback will also be interesting to figure out. Java&amp;rsquo;s audio API doesn&amp;rsquo;t support MP3 out of the box, but JavaFX does.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;Similarly, &lt;a href="https://bsky.app/profile/kossayzemzem.bsky.social/post/3m6pcqfulrs2d" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Kz&lt;/strong&gt; needs to create a game&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;I am required to make a game in JavaFX for a University project and I have zero experience in video game dev.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;Repost of the &lt;a href="https://foojayio.github.io/website/today/first-experiments-with-java-on-the-lattepanda-iota/"&gt;article by &lt;strong&gt;Frank Delporte&lt;/strong&gt; on Foojay&lt;/a&gt;
: First Experiments with Java on the LattePanda IOTA: An Alternative to Raspberry Pi? &amp;ldquo;&lt;em&gt;Since I installed the Java version from Azul with JavaFX included, I could also run a JavaFX demo application. &amp;hellip; The application ran smoothly! It showed we&amp;rsquo;re running on a Linux 64-bit system with Java 25.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;The JavaFX plugin in IntelliJ IDEA is marked as &amp;lsquo;Ultimate Only&amp;rsquo; in the unified distribution IDEA 2025.3. But no panic, &lt;a href="https://youtrack.jetbrains.com/issue/IDEA-383652/JavaFX-plugin-is-marked-as-Ultimate-Only-in-IDEA-2025.3-Unified-Distribution" target="_blank" rel="noopener noreferrer"&gt;it&amp;rsquo;s a bug&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;Until the fix is out, you can install the previous version 2025.2.6 of IntelliJ IDEA to bypass the issue.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;On Reddit, &lt;a href="https://www.reddit.com/r/JavaFX/comments/1pk0la8/fxgl_fps_problem/" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Rvaranda&lt;/strong&gt; shared a video and is asking for support&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;I&amp;rsquo;m having a weird problem with FXGL. Don&amp;rsquo;t know if it&amp;rsquo;s FPS related, but what happens is, when I start the game, the app&amp;rsquo;s timer spikes up very briefly at the start, then it stabilizes. As a result, all moving entities moves very quickly initialy, then they slow down to their actual speed.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://bsky.app/profile/cdetastes.bsky.social/post/3ma7olcch2k2q" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Clément de Tastes&lt;/strong&gt; shared a screenshot&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;Exploring Mandelbrot&amp;rsquo;s fascinating fractals has been a wonderful way for me to play with Java features. It started as a JavaFX project only, then became the perfect playground to experiment with upcoming features such as Valhalla Value Types and the Vector API. Special mention to FFM as well.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-6-jfx-central"&gt;JFX Central&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;New content on JFX Central:
&lt;ul&gt;
&lt;li&gt;People: &lt;a href="https://www.jfx-central.com/people/f.enner" target="_blank" rel="noopener noreferrer"&gt;Florian Enner&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Video: &lt;a href="https://www.jfx-central.com/videos/_DGz4YyojpE" target="_blank" rel="noopener noreferrer"&gt;JavaFX In Action with Florian Enner about Robot 3D Visualizations and Charts&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;The links of November got &lt;a href="https://foojayio.github.io/website/today/javafx-links-of-november-2025/"&gt;published on Foojay&lt;/a&gt;
.&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Video series “JavaFX In Action”, Part 6 with Vlad Protsenko (Clojure), Matt Coley (Recaf), Craig Raw (Sparrow), and Florian Enner (3D Robot Visualization)</title><link>https://foojayio.github.io/website/today/video-series-javafx-in-action-part-6/</link><pubDate>Fri, 26 Dec 2025 08:07:18 +0000</pubDate><guid>https://foojayio.github.io/website/today/video-series-javafx-in-action-part-6/</guid><description>&lt;p&gt;This is the next part in the series of &amp;ldquo;JavaFX in Action&amp;rdquo; interviews. Are you working on a fantastic JavaFX application? Let me know, and let&amp;rsquo;s discuss it in the new year!&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href="https://foojayio.github.io/website/today/new-video-series-javafx-in-action-part-1/"&gt;July &amp;lsquo;24: Pedro Duque Vieira, Daniel Zimmermann, Christopher Schnick, and Robert Ladstätter&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://foojayio.github.io/website/today/video-series-javafx-in-action-part-2/"&gt;November &amp;lsquo;24: Maciej Gorywoda, Ramiro Domínguez Ayub, Christoph Schwentker, Ulas Ergin&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://foojayio.github.io/website/today/video-series-javafx-in-action-part-3/"&gt;December &amp;lsquo;24: Özkan Pakdil, Clément de Tastes, Almas Baim, Steve Hannah, Jago de Vreede&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://foojayio.github.io/website/today/video-series-javafx-in-action-part-4/"&gt;March &amp;lsquo;25: Mike Hearn, Sven Reimers, Chris Newland&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://foojayio.github.io/website/today/video-series-javafx-in-action-part-5/"&gt;July &amp;lsquo;25: Cormac Redmond, Brian Schlining, Gerrit Grunwald, Dirk Lemmermann&lt;/a&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="h2-0-vlad-protsenko-combining-clojure-with-javafx-for-game-development-with-defold"&gt;Vlad Protsenko: Combining Clojure with JavaFX for Game Development with Defold&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://www.linkedin.com/in/vlad-protsenko-0999b2163/" target="_blank" rel="noopener noreferrer"&gt;Vlad Protsenko&lt;/a&gt;
 is a Senior Developer with proficiency in many JVM-based languages. He worked both in very small and large teams, gaining experience in developing projects of various sizes, from scratch and from legacy codebases. He enjoys full-stack development, writing backend, frontend, and Android applications. He started as a game developer and switched to developing enterprise software, currently mixing both at Defold.&lt;/p&gt;</description></item><item><title>First Experiments with Java on the LattePanda IOTA: An Alternative to Raspberry Pi?</title><link>https://foojayio.github.io/website/today/first-experiments-with-java-on-the-lattepanda-iota/</link><pubDate>Thu, 11 Dec 2025 09:13:14 +0000</pubDate><guid>https://foojayio.github.io/website/today/first-experiments-with-java-on-the-lattepanda-iota/</guid><description>&lt;p&gt;After years of experimenting with Raspberry Pi boards, Java, JavaFX, and &lt;a href="https://www.pi4j.com/" target="_blank" rel="noopener noreferrer"&gt;Pi4J&lt;/a&gt;
 to control electronics, I wanted to explore whether my knowledge and experience could be applied to similar boards from other providers. There are many alternatives available these days, based on ARM, Intel processors, and RISC-V architectures.&lt;/p&gt;
&lt;p&gt;I reached out to several suppliers to see if I could get evaluation copies, and I&amp;rsquo;m happy to share that I received my first box from DFRobot containing the &lt;a href="https://www.dfrobot.com/product-2989.html" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;LattePanda IOTA&lt;/strong&gt;&lt;/a&gt;
.&lt;/p&gt;</description></item><item><title>JavaFX Links of November 2025</title><link>https://foojayio.github.io/website/today/javafx-links-of-november-2025/</link><pubDate>Sun, 30 Nov 2025 06:42:41 +0000</pubDate><guid>https://foojayio.github.io/website/today/javafx-links-of-november-2025/</guid><description>&lt;p&gt;Here is the overview of the JavaFX LinksOfTheMonth of November 2025. You can find the weekly lists on &lt;a href="https://www.jfx-central.com/links" target="_blank" rel="noopener noreferrer"&gt;jfx-central.com&lt;/a&gt;
. Did we miss anything? Is there anything you want to have included in one of the next overviews? Let us know via &lt;a href="https://foojayio.github.io/website/cdn-cgi/l/email-protection"&gt;[email protected]&lt;/a&gt;
.&lt;/p&gt;
&lt;h2 id="h2-0-core"&gt;Core&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.infoworld.com/article/4082709/will-javafx-return-to-java.html" target="_blank" rel="noopener noreferrer"&gt;Article by &lt;strong&gt;Paul Krill&lt;/strong&gt; on InfoWorld&lt;/a&gt;
: &amp;ldquo;Will JavaFX return to Java?&amp;rdquo; &amp;ldquo;&lt;em&gt;Just as a proposal to return JavaFX to the Java Development Kit has drawn interest in the OpenJDK community, Oracle too says it wants to make the Java-based rich client application more approachable within the JDK. &amp;hellip; An &lt;a href="https://mail.openjdk.org/pipermail/discuss/2025-October/006553.html" target="_blank" rel="noopener noreferrer"&gt;October 29 post by &lt;strong&gt;Bruce Haddon&lt;/strong&gt; on an OpenJDK discussion list&lt;/a&gt;
 argues that the reasons for the separation &amp;hellip; are much less applicable today.&lt;/em&gt; &amp;quot;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Frank Delporte&lt;/strong&gt; sees a perfect match with the Java on Mobile project and published a post about it: &lt;a href="https://webtechie.be/post/2025-11-05-openjfx-returning-to-openjdk/" target="_blank" rel="noopener noreferrer"&gt;Will OpenJFX Be Merged Into OpenJDK? It Would Be a Perfect Match with Java on Mobile!&lt;/a&gt;
 &amp;ldquo;&lt;em&gt;Again, some exciting developments seem to be happening in the Java world! There&amp;rsquo;s a growing discussion about bringing JavaFX back into the OpenJDK, and it couldn&amp;rsquo;t come at a better time, especially with Johan Vos and the team at Gluon working hard on making Java a first-class citizen on mobile platforms. &amp;hellip; I&amp;rsquo;m excited to see where this goes. Java has always been about &amp;lsquo;write once, run anywhere,&amp;rsquo; and these initiatives could finally deliver on that promise more completely than ever before.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;This post got also &lt;a href="https://foojayio.github.io/website/today/will-openjfx-be-merged-into-openjdk-it-would-be-a-perfect-match-with-java-on-mobile/"&gt;republished on Foojay.io&lt;/a&gt;
.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://bsky.app/profile/johanvos.bsky.social/post/3m5jiv22b7s2u" target="_blank" rel="noopener noreferrer"&gt;Request by &lt;strong&gt;Johan Vos&lt;/strong&gt;&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;JavaFX developers using Windows: please help the development by doing some performance test for Direct3D 12.&lt;/em&gt; &amp;quot; More info in this &lt;a href="https://mail.openjdk.org/pipermail/openjfx-dev/2025-November/057510.html" target="_blank" rel="noopener noreferrer"&gt;mailinglist message by &lt;strong&gt;Lukasz Kostyra&lt;/strong&gt;&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.infoq.com/news/2025/11/java-on-ios/" target="_blank" rel="noopener noreferrer"&gt;Article by &lt;strong&gt;Ben Evans&lt;/strong&gt; on InfoQ&lt;/a&gt;
: &amp;ldquo;Running Java on iOS: Gluon Introduces OpenJDK Mobile Resources and Automated Build Pipelines&amp;rdquo;. &amp;ldquo;&lt;em&gt;The long-awaited Hotspot-on-iOS project is reporting major progress - OpenJDK is now able to build and run on iOS. This is the next milestone on a journey that started a long time ago - InfoQ first reported on it back in 2015. More recently, the mobile repository of OpenJDK (which is downstream of the main repo) has been able to build a static version of libjvm, allowing iOS binaries to execute Java code.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://bsky.app/profile/did:plc:tysr26jaqf3moymuf7jc2uyr/post/3m5ymv2fcw22o" target="_blank" rel="noopener noreferrer"&gt;Message by &lt;strong&gt;Johan Vos&lt;/strong&gt;&lt;/a&gt;
 highlighting the fact JavaFX is a full open-source project: &amp;ldquo;&lt;em&gt;Keep in mind that the Gluon LTS releases of JavaFX 17u and JavaFX 21u are free to download and use. With Gluon, we do &lt;a href="https://gluonhq.com/services/javafx-support/#pricing" target="_blank" rel="noopener noreferrer"&gt;offer an LTS service&lt;/a&gt;
 but the releases themselves are really free. We don&amp;rsquo;t want to charge people for creating JavaFX applications. No reason to pay unless you need support.&lt;/em&gt; &amp;quot;
&lt;ul&gt;
&lt;li&gt;And he is &lt;a href="https://bsky.app/profile/johanvos.bsky.social/post/3m5yjlouems2o" target="_blank" rel="noopener noreferrer"&gt;looking for feedback about a core JavaFX feature&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;The JavaFX Properties/listeners approach is really powerful to bind UI components to changing values. But it is often over-used and the main source of performance issues. It&amp;rsquo;s very easy to kill performance by adding a listener to a property that is modified during layout.&lt;/em&gt;&amp;rdquo; What do you think? Did you experience such performance issues?&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-1-applications"&gt;Applications&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://bsky.app/profile/abaddongtz.bsky.social/post/3m4rdpoes5s2a" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Rafael Gutierrez&lt;/strong&gt; shared on Bluesky&lt;/a&gt;
: &amp;ldquo;A Pomodoro Timer built with JavaFX and Spring Shell using Hexagonal Architecture (any feedback is welcome.)_&amp;rdquo; You can find it &lt;a href="https://github.com/abadongutierrez/pomodoro-timer" target="_blank" rel="noopener noreferrer"&gt;on GitHub&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Gerrit Grunwald&lt;/strong&gt; updated JDKMon to Java(FX) 25. &lt;a href="https://github.com/HanSolo/SpaceFX/releases" target="_blank" rel="noopener noreferrer"&gt;Downloads are available on GitHub&lt;/a&gt;
. JDKMon is a little tool written in JavaFX that tries to detect all JDKs installed on your machine.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://bsky.app/profile/codedead.com/post/3m5oxetgrec2x" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;codedead&lt;/strong&gt; announced&lt;/a&gt;
 Opal v1.5.1. &lt;a href="https://codedead.com/blog/2025/11/15/opal-1.5.1/" target="_blank" rel="noopener noreferrer"&gt;Here are the release notes&lt;/a&gt;
. &amp;ldquo;&lt;em&gt;Opal is a simple app that includes different sound groupings to suit anyone, from office to fantasy. All have volume controls so you can keep faint in the background or bring them forward. You can also set up a delay timer from the settings tab to remind you to take a break. You also have the option to combine multiple sounds at varying volumes to produce the perfect background noise.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://mastodon.social/@credmond/115617279097981595" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Cormac Redmond&lt;/strong&gt; shared an impressive screenshot&lt;/a&gt;
 showing a lot of different UI windows of KafkIO: &amp;ldquo;&lt;em&gt;Version 2.0.14 is released, packed with new features. &lt;a href="https://kafkio.com/" target="_blank" rel="noopener noreferrer"&gt;Download the fast, easy Apache Kafka™ GUI&lt;/a&gt;
.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-2-games"&gt;Games&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Gerrit Grunwald&lt;/strong&gt; updated SpaceFX to Java(FX) 25. &lt;a href="https://github.com/HanSolo/SpaceFX/releases" target="_blank" rel="noopener noreferrer"&gt;Downloads are available on GitHub&lt;/a&gt;
. SpaceFX is a space shooter written in JavaFX. It can run on Mac, Windows, Linux, on mobile devices, and even in the browser. A true &amp;ldquo;write once run anywhere&amp;rdquo; application that illustrates the true power and the promise made by Java and JavaFX.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://bsky.app/profile/defold.com/post/3m6m2cbjfgk2f" target="_blank" rel="noopener noreferrer"&gt;Defold, the free game engine with a JavaFX UI engine, shared&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;&lt;a href="https://defold.com/manuals/editor/" target="_blank" rel="noopener noreferrer"&gt;The Defold Editor Overview manual&lt;/a&gt;
 has been updated! Get familiar with the new Editor features and let us know if there is anything we could improve further.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-3-components-libraries-tools"&gt;Components, Libraries, Tools&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.reddit.com/r/JavaFX/comments/1p178xg/webfx_now_supports_teavm_bringing_webassembly_and/" target="_blank" rel="noopener noreferrer"&gt;Message on Reddit JavaFX&lt;/a&gt;
 by &lt;strong&gt;Bruno Salmon&lt;/strong&gt; : &amp;ldquo;WebFX now supports TeaVM: bringing WebAssembly and Kotlin to JavaFX on the Web!&amp;rdquo; with a &lt;a href="https://blog.webfx.dev/2025/11/17/teavm/" target="_blank" rel="noopener noreferrer"&gt;link to a full blog post&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;We&amp;rsquo;re excited to announce that WebFX now officially supports TeaVM, a Java to WebAssembly compiler that unlocks faster startup times and broader JVM language compatibility with now Kotlin and Scala! We already have multiple live demos running with TeaVM.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-4-podcasts-videos-books"&gt;Podcasts, Videos, Books&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Frank Delporte&lt;/strong&gt; interviewed &lt;strong&gt;Johan Vos&lt;/strong&gt; and &lt;strong&gt;Stephen Chin&lt;/strong&gt; at Devoxx Belgium 2025. The video is now available &lt;a href="https://www.youtube.com/watch?v=OrhGyTGJgOg" target="_blank" rel="noopener noreferrer"&gt;on YouTube&lt;/a&gt;
. Johan is one of the lead OpenJFX developers and talks about the history of Java and JavaFX, and the future with the Java on Mobile project. Stephen is the author of &amp;ldquo;The Definitive Guide to Modern Java Clients with JavaFX.&amp;rdquo;&lt;/li&gt;
&lt;li&gt;New &lt;a href="https://www.youtube.com/watch?v=Mc3fUTxoKIg" target="_blank" rel="noopener noreferrer"&gt;&amp;ldquo;JavaFX In Action&amp;rdquo; interview published by &lt;strong&gt;Frank Delporte&lt;/strong&gt; with &lt;strong&gt;Craig Raw&lt;/strong&gt; about the Sparrow Bitcoin Wallet&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;I don&amp;rsquo;t have any bitcoin myself, but still find the idea of the blockchain and &amp;lsquo;public shared money&amp;rsquo; fascinating. And as it turns out, there is a free and open-source bitcoin wallet, Sparrow, created with JavaFX, that wants to help people understand how the Bitcoin system works and make transactions easy to understand. And while Craig explains the app itself, we also learn a lot about the Bitcoin ecosystem, reproducible builds, security, hardware wallets, and more!&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://foojayio.github.io/website/today/foojay-podcast-83/"&gt;Foojay Podcast #83 with &lt;strong&gt;Johan Vos&lt;/strong&gt; and &lt;strong&gt;Stephen Chin&lt;/strong&gt;&lt;/a&gt;
: OpenJDK Evolutions plus Tips and Tricks:
&lt;ul&gt;
&lt;li&gt;Johan takes us on a journey through Java&amp;rsquo;s history, from porting Java to Linux in 1995 to his current work on bringing Java and JavaFX to mobile and embedded devices through the Java On Mobile project.&lt;/li&gt;
&lt;li&gt;Stephen is the author of &amp;ldquo;The Definitive Guide to Modern Java Clients with JavaFX,&amp;rdquo; who shares insights on building cross-platform client applications.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-5-tutorials"&gt;Tutorials&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Troels Mortensen&lt;/strong&gt; is working on a series of YouTube tutorials:
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=LsxLAjTXROw" target="_blank" rel="noopener noreferrer"&gt;Your first app&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=_jEooKZFWkI" target="_blank" rel="noopener noreferrer"&gt;Your first button&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=pv4pZx7ewww" target="_blank" rel="noopener noreferrer"&gt;Your first TextField&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=tjq0XfaY6Zg" target="_blank" rel="noopener noreferrer"&gt;Simple app structure&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=j02aTD7AMkA" target="_blank" rel="noopener noreferrer"&gt;Introducing the SceneBuilder&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=iTMEyaQJxjo" target="_blank" rel="noopener noreferrer"&gt;Designing in the SceneBuilder&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=JkONOwnDTDs" target="_blank" rel="noopener noreferrer"&gt;Opening the SceneBuilder through IntelliJ&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=8OO5-p2mBjs" target="_blank" rel="noopener noreferrer"&gt;Your first controller&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=peZT8Fv6MzE&amp;amp;t=1s" target="_blank" rel="noopener noreferrer"&gt;Introducing the View Manager&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=jSXD3-rg8P0" target="_blank" rel="noopener noreferrer"&gt;Passing data between views&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=ylkQyqZxiIg" target="_blank" rel="noopener noreferrer"&gt;ViewManager v3&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=KVD12NS8VQg" target="_blank" rel="noopener noreferrer"&gt;Putting fxml files into resource directory&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=8eIY_xsRm2A" target="_blank" rel="noopener noreferrer"&gt;Single view application&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=AUNqzm4AJxo" target="_blank" rel="noopener noreferrer"&gt;The Controller Configurator&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=8gvLIt5zSxg" target="_blank" rel="noopener noreferrer"&gt;By &lt;strong&gt;Sour coders&lt;/strong&gt;&lt;/a&gt;
: JavaFX install and setup in IntelliJ (Local JavaFX template) with Scene Builder setup.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=rLSiLMbpdUY" target="_blank" rel="noopener noreferrer"&gt;By &lt;strong&gt;Programming of Life&lt;/strong&gt;&lt;/a&gt;
: Mini JavaFX Particles Animation Tutorial | Beautiful FX Effect in Under 100 Lines&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-6-miscellaneous"&gt;Miscellaneous&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://bsky.app/profile/hansolo.eu/post/3m5fzwwhuoc2l" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Gerrit Grunwald&lt;/strong&gt; has fans! 😉&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;Yesterday at the event of the Amsterdam JUG, someone from the audience came to me after my session and thanked me for creating the JavaFX libraries I did create&amp;hellip; It always makes me really happy to see people use the things that I just created for the fun of it. Love the Java Community.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;Interesting read: &lt;a href="https://iifx.dev/en/articles/457273426/solving-the-java-24-javafx-24-compatibility-issue-unsafe-access-flag" target="_blank" rel="noopener noreferrer"&gt;Solving the Java 24/JavaFX 24 Compatibility Issue: Unsafe Access Flag&lt;/a&gt;
. &amp;ldquo;&lt;em&gt;The warnings you&amp;rsquo;re seeing, especially those related to sun.misc.Unsafe and WARNING: package sun.misc not in java.base, are a direct result of JEP 471 and JEP 498 in the newer Java versions (starting around JDK 23/24). &amp;hellip; Future JavaFX Versions (JavaFX 25 and beyond) are expected to have this internal usage removed or replaced with modern alternatives (like the Foreign Function &amp;amp; Memory API introduced in Java). Until then, using the &amp;ndash;sun-misc-unsafe-memory-access=allow flag is the correct way to handle this transition period. You should keep an eye on the JavaFX release notes for updates on when this internal dependency is completely phased out!&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://bsky.app/profile/markjkoch.bsky.social/post/3m5yyiqgmxk2y" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Mark J. Koch&lt;/strong&gt; needs a JavaFX-break&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;My end of the year goal is to make this pile of circuits into a working analog synth. Then, and only then, am I allowed to go back to gamedev on my JavaFX Neuromancer PC remake while sipping egg nog. Too many hobbies.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.reddit.com/r/JavaFX/comments/1p6ek5p/new_color_picker_idea/" target="_blank" rel="noopener noreferrer"&gt;Screenshot by &lt;strong&gt;jaavaaguru&lt;/strong&gt; on Reddit&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;I&amp;rsquo;m working on a theme designer app, and came up with this color picker idea this morning and implemented it from scratch. Any thoughts for improvements?&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://foojay.social/@frankdelporte/115612004093020148" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Frank Delporte&lt;/strong&gt; introduced the new hashtag #JavaOnSingleBoardComputers&lt;/a&gt;
. &amp;ldquo;&lt;em&gt;Thanks to DFRobot, I took my first step toward testing other single-board computers with Java, JavaFX, and Pi4J. The LattePanda IOTA looks like a great board and calls for more experiments after a quick first test&amp;hellip;&lt;/em&gt; &amp;quot; &lt;a href="https://webtechie.be/post/2025-11-25-first-test-lattepanda-iota-with-ubuntu-and-java/" target="_blank" rel="noopener noreferrer"&gt;Video and blog are available here&lt;/a&gt;
 and show a JavaFX JBang application running smoothly on the IOTA.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-7-jfx-central"&gt;JFX Central&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;New content on JFX Central:
&lt;ul&gt;
&lt;li&gt;Tools: &lt;a href="https://www.jfx-central.com/tools/sdkman-gui" target="_blank" rel="noopener noreferrer"&gt;SDKMAN GUI&lt;/a&gt;
, a modern graphical management tool for SDKMAN, providing an Applite-like user experience.&lt;/li&gt;
&lt;li&gt;Showcase: &lt;a href="https://www.jfx-central.com/real_world/sparrow" target="_blank" rel="noopener noreferrer"&gt;Sparrow Bitcoin Wallet&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;People: &lt;a href="https://www.jfx-central.com/people/c.raw" target="_blank" rel="noopener noreferrer"&gt;Craig Raw&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Video: &lt;a href="https://www.jfx-central.com/videos/Mc3fUTxoKIg" target="_blank" rel="noopener noreferrer"&gt;JavaFX In Action with Craig Raw about the Sparrow Bitcoin Wallet&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;The links of October got &lt;a href="https://foojayio.github.io/website/today/javafx-links-of-october-2025/"&gt;published on Foojay&lt;/a&gt;
.&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Will OpenJFX Be Merged Into OpenJDK? It Would Be a Perfect Match with Java on Mobile!</title><link>https://foojayio.github.io/website/today/will-openjfx-be-merged-into-openjdk-it-would-be-a-perfect-match-with-java-on-mobile/</link><pubDate>Wed, 26 Nov 2025 09:18:36 +0000</pubDate><guid>https://foojayio.github.io/website/today/will-openjfx-be-merged-into-openjdk-it-would-be-a-perfect-match-with-java-on-mobile/</guid><description>&lt;p&gt;While looking for articles for the &lt;a href="https://www.jfx-central.com/links" target="_blank" rel="noopener noreferrer"&gt;JFX Central Links Of The Week&lt;/a&gt;
, I found this very interesting &lt;a href="https://www.infoworld.com/article/4082709/will-javafx-return-to-java.html" target="_blank" rel="noopener noreferrer"&gt;article by &lt;strong&gt;Paul Krill&lt;/strong&gt; on InfoWorld&lt;/a&gt;
. It&amp;rsquo;s based on an &lt;a href="https://mail.openjdk.org/pipermail/discuss/2025-October/006553.html" target="_blank" rel="noopener noreferrer"&gt;October 29 post by &lt;strong&gt;Bruce Haddon&lt;/strong&gt; on an OpenJDK discussion list&lt;/a&gt;
 in which he argues that the reasons for the separation of OpenJFX from OpenJDK in Java 11, more than seven years ago, are much less applicable today.&lt;/p&gt;
&lt;p&gt;Again, some exciting developments seem to be happening in the Java world! There&amp;rsquo;s a growing discussion about bringing JavaFX back into the OpenJDK, and it couldn&amp;rsquo;t come at a better time, especially with Johan Vos and the team at Gluon working hard on making Java a first-class citizen on mobile platforms.&lt;/p&gt;</description></item><item><title>Foojay Podcast 83: OpenJDK Evolutions plus Tips and Tricks</title><link>https://foojayio.github.io/website/today/foojay-podcast-83/</link><pubDate>Mon, 24 Nov 2025 06:07:00 +0000</pubDate><guid>https://foojayio.github.io/website/today/foojay-podcast-83/</guid><description>&lt;p&gt;Welcome to another episode of the Foojay Podcast! Just like in the previous episode, I bring you conversations from two of Europe&amp;rsquo;s premier Java conferences - Devoxx in Belgium and JFall in the Netherlands.&lt;/p&gt;
&lt;p&gt;At these conferences, I had the opportunity to speak with members of the Java community about topics ranging from the evolution of Java itself to mobile development, performance optimization, and even automotive security.&lt;/p&gt;
&lt;p&gt;My first guest is Johan Vos, a Java Champion who takes us on a journey through Java&amp;rsquo;s history - from porting Java to Linux in 1995 to his current work on bringing Java and JavaFX to mobile and embedded devices through the Java On Mobile project.&lt;/p&gt;</description></item><item><title>JavaFX Links of October 2025</title><link>https://foojayio.github.io/website/today/javafx-links-of-october-2025/</link><pubDate>Fri, 31 Oct 2025 07:31:45 +0000</pubDate><guid>https://foojayio.github.io/website/today/javafx-links-of-october-2025/</guid><description>&lt;p&gt;Here is the overview of the JavaFX LinksOfTheMonth of October 2025. You can find the weekly lists on &lt;a href="https://www.jfx-central.com/links" target="_blank" rel="noopener noreferrer"&gt;jfx-central.com&lt;/a&gt;
. Did we miss anything? Is there anything you want to have included in one of the next overviews? Let us know via &lt;a href="https://foojayio.github.io/website/cdn-cgi/l/email-protection"&gt;[email protected]&lt;/a&gt;
.&lt;/p&gt;
&lt;h2 id="h2-0-core"&gt;Core&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.infoworld.com/article/4065025/javafx-25-previews-javafx-controls-in-title-bars.html" target="_blank" rel="noopener noreferrer"&gt;Article by &lt;strong&gt;Paul Krill&lt;/strong&gt;&lt;/a&gt;
: JavaFX 25 previews JavaFX controls in title bars. &amp;ldquo;&lt;em&gt;Preview feature in latest update of the Java client application platform defines a Stage style that allows applications to place scene graph nodes in the header bar area.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://mastodon.social/@johanvos/115309280336500000" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Johan Vos&lt;/strong&gt; is working on Java on Mobile&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;I can now run HelloFX on an iPhone. This required only really minor changes to OpenJFX and OpenJDK, and I&amp;rsquo;ll update &lt;a href="https://github.com/openjdk-mobile/openjfx-build" target="_blank" rel="noopener noreferrer"&gt;github.com/openjdk-mobile/openjfx-build&lt;/a&gt;
 as soon as I find some time. Most of the work (&amp;gt; 99%) went into understanding the tons of options in XCode. Next step is the integration of Leyden code into OpenJDK/mobile. Hope to get support from the Leyden experts.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://bsky.app/profile/gluonhq.com/post/3m3puhsuhrk2a" target="_blank" rel="noopener noreferrer"&gt;Message from Gluon&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;The CPU releases for JavaFX are available. &lt;a href="https://gluonhq.com/products/javafx/" target="_blank" rel="noopener noreferrer"&gt;Download the latest JavaFX SDKs with security fixes&lt;/a&gt;
 or get them from Maven Central. You&amp;rsquo;ll find the latest released, JavaFX 25.0.1 and the Gluon JavaFX LTS releases 17.0.17 and 21.0.9.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;Is the &amp;ldquo;OpenSource Model&amp;rdquo; broken for OpenJFX (and all other projects)? And are those who are making money from it not interested in fixing it? &lt;a href="https://bsky.app/profile/johanvos.bsky.social/post/3m3mejmxq5k2p" target="_blank" rel="noopener noreferrer"&gt;Interesting discussion on Bluesky&lt;/a&gt;
&amp;hellip;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-1-scenebuilder"&gt;SceneBuilder&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Plant Fall&lt;/strong&gt; is working on a SceneBuilder-alternative without XML, see the &lt;a href="https://www.youtube.com/watch?v=TpYZLPtD62A" target="_blank" rel="noopener noreferrer"&gt;video on YouTube&lt;/a&gt;
. Looks like it&amp;rsquo;s in early stage, curious to see how it will evolve&amp;hellip;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Plant Fall&lt;/strong&gt; published a new video about a SceneBuilder-alternative without XML: &amp;ldquo;&lt;em&gt;In &lt;a href="https://www.youtube.com/watch?v=BrXzMbWUU-Y" target="_blank" rel="noopener noreferrer"&gt;this video&lt;/a&gt;
, I show the progress of Morphos Desktop FX &amp;ndash; Version 2, a powerful GUI builder that lets you create your JavaFX interfaces visually &amp;mdash; and now it can generate complete source code and save your layouts as JSON files.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-2-applications"&gt;Applications&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://bsky.app/profile/trixon.se/post/3lzsd33jkzs2a" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Patrik Karlström&lt;/strong&gt; released version 25.09 of nbRsync&lt;/a&gt;
, a rsync GUI: &amp;ldquo;&lt;em&gt;It&amp;rsquo;s mostly about dependency updates such as Netbeans 27, JDK and JavaFX 25.&lt;/em&gt; &amp;quot; You can find it on &lt;a href="https://github.com/trixon/nbRsync" target="_blank" rel="noopener noreferrer"&gt;GitHub&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://bsky.app/profile/logorrr.bsky.social/post/3lzywsev5622b" target="_blank" rel="noopener noreferrer"&gt;Video shared by LogoRRR on Bluesky&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;Working on a nice addition to LogoRRR - Group and reuse your search queries! Reapply them to your multiple log files - this will surely save you time. This will be part of the next release.&lt;/em&gt; &amp;quot;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://bsky.app/profile/logorrr.bsky.social/post/3m3bbbh3pjk2x" target="_blank" rel="noopener noreferrer"&gt;LogoRRR shared a screenshot of an upcoming release&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;The goal is absolute simplicity for you, which requires a lot of development and careful planning behind the scenes.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Patrik Karlström&lt;/strong&gt; announced &lt;a href="https://bsky.app/profile/trixon.se/post/3m2k7itmwi22z" target="_blank" rel="noopener noreferrer"&gt;Mapton 25.10&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;&amp;hellip;the open source Java(FX) based generic map platform built on WorldWind Netbeans 27 platform &amp;amp; JDK 25. 👋 Downloads with runtime from
Azul are &lt;a href="https://github.com/trixon/mapton/releases" target="_blank" rel="noopener noreferrer"&gt;available for Windows &amp;amp; Linux&lt;/a&gt;
 (including appimage &amp;amp; snapcraft).&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://bsky.app/profile/mirkosertic.de/post/3m3sgoql3k22o" target="_blank" rel="noopener noreferrer"&gt;Message by &lt;strong&gt;Mirko Sertic&lt;/strong&gt;&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;I found some time to update JavaFX DesktopSearch to the latest Java 25, Lucene and#Tika releases. Maybe I will also add some LLM or MCP features. We&amp;rsquo;ll find out. &lt;a href="https://github.com/mirkosertic/FXDesktopSearch" target="_blank" rel="noopener noreferrer"&gt;Checkout on GitHub&lt;/a&gt;
 for more to come 🙂&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://social.binjr.eu/@binjr/statuses/01K8R4TE2R0HDXQR1816KE4MC6" target="_blank" rel="noopener noreferrer"&gt;v3.25.0 of binjr, a standalone time series browser, is now available&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;Aside from being based on the latest Java25 runtime &amp;mdash; making this a somewhat themed release &amp;mdash; the main features this time around are: much improved support for the ZGC garbage collector logs files for the OpenJDK JVM, improvements to handling of CSV files with things like support for comments and better number parsing for uncommon notations, bug fixes, and quality of life enhancements. Full changelog and download links are available on &lt;a href="https://binjr.eu" target="_blank" rel="noopener noreferrer"&gt;binjr.eu&lt;/a&gt;
.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-3-games"&gt;Games&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;No JavaFX, but still very impressive Java-based game development: Nostr Game Engine on &lt;a href="https://github.com/NostrGameEngine/ngengine" target="_blank" rel="noopener noreferrer"&gt;GitHub&lt;/a&gt;
 and &lt;a href="https://ngengine.org/" target="_blank" rel="noopener noreferrer"&gt;here is the website&lt;/a&gt;
. &amp;ldquo;&lt;em&gt;Based on jMonkeyEngine. A game engine and framework for building games and applications integrated with the Nostr ecosystem and p2p networking.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-4-components-libraries-tools"&gt;Components, Libraries, Tools&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;KickstartFX is an impressive project by &lt;strong&gt;Christopher Schnick&lt;/strong&gt; : &amp;ldquo;&lt;em&gt;An advanced, ready-to-use template for JavaFX applications. It can serve as a solid foundation for your own JavaFX application as everything is fully customizable and extendable. KickstartFX is much more than just a basic template that opens a simple window. It contains a lot of code to handle the challenges of applications in the real world to achieve the best possible desktop application experience across all operating systems. The code is based on &lt;a href="https://github.com/xpipe-io/xpipe" target="_blank" rel="noopener noreferrer"&gt;XPipe&lt;/a&gt;
, a well-established JavaFX application, and is the result of years of experience developing a desktop application that is used by many thousands of users right now.&lt;/em&gt; &amp;quot; Very &lt;a href="https://kickstartfx.xpipe.io" target="_blank" rel="noopener noreferrer"&gt;detailed documentation is available here&lt;/a&gt;
 and the &lt;a href="https://github.com/xpipe-io/kickstartfx" target="_blank" rel="noopener noreferrer"&gt;sources are available on GitHub&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://bsky.app/profile/sunnykentz.bsky.social/post/3m2k2gs3t6c2l" target="_blank" rel="noopener noreferrer"&gt;JPM promises to provide a better experience compared to Maven and Gradle&lt;/a&gt;
: &amp;ldquo;_Imagine if it was simple to create a desktop app in kotlin&amp;hellip;. Wait it is: &lt;a href="https://www.jpmhub.org/" target="_blank" rel="noopener noreferrer"&gt;jpmhub.org&lt;/a&gt;
: &lt;code&gt;MARKDOWN_HASH141e92adc7387a4d2beb57a986c7513bMARKDOWN&lt;/code&gt;&lt;em&gt;HASH&lt;/em&gt;.&amp;rdquo;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://bsky.app/profile/sunnykentz.bsky.social/post/3m37jrdglpc2a" target="_blank" rel="noopener noreferrer"&gt;JPM shared a video&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;To show the true power of &lt;a href="https://foojayio.github.io/website/www.jpmhub.org"&gt;JPM&lt;/a&gt;
 I created Neutron, a native app builder that leverages the power of JavaFX&amp;rsquo;s webview for easy development.&lt;/em&gt; &amp;quot; &lt;a href="https://github.com/jpm-hub/neutron?tab=readme-ov-file" target="_blank" rel="noopener noreferrer"&gt;Sources on GitHub&lt;/a&gt;
.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://bsky.app/profile/cdetastes.bsky.social/post/3m2w77c2kts2w" target="_blank" rel="noopener noreferrer"&gt;Message from &lt;strong&gt;Clément de Tastes&lt;/strong&gt;&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;A major milestone has been reached on the quarkus-fx extension as it now supports native build in its 0.10.0 release. &lt;a href="https://github.com/quarkiverse/quarkus-fx" target="_blank" rel="noopener noreferrer"&gt;Please report any found issue&lt;/a&gt;
.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://bsky.app/profile/dlemmermann.bsky.social/post/3m3mrf4f2ps2u" target="_blank" rel="noopener noreferrer"&gt;Message by Dirk Lemmermann&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;Chasing memory leaks in my JavaFX based application is a breeze when using &lt;a href="https://github.com/Sandec/JMemoryBuddy" target="_blank" rel="noopener noreferrer"&gt;JMemoryBuddy&lt;/a&gt;
 from &lt;a href="https://bsky.app/profile/did:plc:mszvyrtwuphvznao54kwrqat" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Florian Kirmaier&lt;/strong&gt;&lt;/a&gt;
 I add it to my prod code, not just test classes. At any time I can see whether UI views got garbage collected or not. When I see that a view did to get garbage collected I launch &lt;a href="https://visualvm.github.io/" target="_blank" rel="noopener noreferrer"&gt;VisualVM&lt;/a&gt;
, search for the JMemoryBuddyLive instance (in the heapdump) with the uncollected view, click on the &amp;lsquo;referent&amp;rsquo; and open the &amp;lsquo;GC Root&amp;rsquo; view. That tells me what is still holding a reference to the view.&lt;/em&gt; &amp;quot;
&lt;ul&gt;
&lt;li&gt;And &lt;a href="https://bsky.app/profile/dlemmermann.bsky.social/post/3m3mk7r2usk2z" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Dirk&lt;/strong&gt; shared screenshots&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;I have added an updated and improved version of the SegmentedBar control to GemsFX. Will be released today in version 3.6.0. This is a real-world example of the SegmentedBar control being used. Our app is using it as part of the &amp;lsquo;debt collection&amp;rsquo; user interface. It shows how many bills haven&amp;rsquo;t been paid, how many have started the collection process, etc&amp;hellip;&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://bsky.app/profile/dlemmermann.bsky.social/post/3m3ufrkafyc27" target="_blank" rel="noopener noreferrer"&gt;Followed by screenshots of version 3.6.1&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;I have added a new &amp;lsquo;StretchingTilePane&amp;rsquo; container so that I can finally create a nice responsive tile-based layout for the module selection view of our CRM solution. The default JavaFX TilePane does not fill the available width. It also came in handy for the launch pad section of our &amp;ldquo;market data portal&amp;rdquo;. Each card is a &amp;ldquo;tile&amp;rdquo; and depending on available width we want to either have two or three of them in a row.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-5-conferences-presentations"&gt;Conferences, Presentations&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Talks from Devoxx Belgium using JavaFX:
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://m.devoxx.com/events/dvbe25/talks/23160/java-adventures-jtaccuino-java-25-and-ai" target="_blank" rel="noopener noreferrer"&gt;Java Adventures - JTaccuino, Java 25 and AI&lt;/a&gt;
 by &lt;strong&gt;Sven Reimers&lt;/strong&gt; : &amp;ldquo;&lt;em&gt;A demo packed session awaits you showing you the latest Java 25 features using JTacccuino notebooks. JTaccuino is a pure Java and JavaFX notebook solution, which allows for easy exploration in Java by leveraging JShell, dependency resolution, custom extensions and more. The aim is to reduce typical existing ceremony in API&amp;rsquo;s for simpler and more scripting style interaction.&lt;/em&gt; &amp;quot; The &lt;a href="https://www.youtube.com/watch?v=HJIst2dXKEA" target="_blank" rel="noopener noreferrer"&gt;video is available here&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://m.devoxx.com/events/dvbe25/talks/26808/empowering-agentic-ai-with-industrial-and-scientific-javafx-desktop-applications-via-mcp" target="_blank" rel="noopener noreferrer"&gt;Empowering Agentic AI with Industrial and Scientific JavaFX Desktop Applications via MCP&lt;/a&gt;
 by &lt;strong&gt;Michael Hoffer&lt;/strong&gt; : &amp;ldquo;&lt;em&gt;Most companies, research groups and development temas have established, high-quality desktop tools that are cut off from the benefits of Agentic AI. This talk will show how to integrate these existing JavaFX applications with AI using the Model Context Protocol (MCP), unlocking sophisticated new automation workflows.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://m.devoxx.com/events/dvbe25/talks/20674/robotics-and-graalvm-native-libraries" target="_blank" rel="noopener noreferrer"&gt;Robotics and GraalVM native libraries&lt;/a&gt;
 by &lt;strong&gt;Florian Enner&lt;/strong&gt; : &amp;ldquo;&lt;em&gt;Our company creates custom robotic solutions for a wide range of applications, from performing real-world industrial inspection tasks to providing robust platforms for building intelligent autonomous systems. This presentation provides a rare behind-the-scenes look into how we use Java for real-time control, and why we are considering replacing parts of our C++ codebase with GraalVM&amp;rsquo;s native shared libraries.&lt;/em&gt; &amp;quot; The &lt;a href="https://www.youtube.com/watch?v=md2JFgegN7U" target="_blank" rel="noopener noreferrer"&gt;video is available here&lt;/a&gt;
. It shows a very impressive JavaFX UI with 3D visualization of the interactions with robot arms.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-6-podcasts-videos-books"&gt;Podcasts, Videos, Books&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://bsky.app/profile/did:plc:jx7h5s74cqipmtc7zrb5224m/post/3m27psgxob22t" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Frank Delporte&lt;/strong&gt; is working on the 2025 update&lt;/a&gt;
 of his book with Java and JavaFX examples for the Raspberry Pi: &amp;ldquo;&lt;em&gt;I have just published a new version of my book, &amp;lsquo;Getting Started with Java on the Raspberry Pi,&amp;rsquo; on Leanpub. If you purchase now, you will receive any future updates at no additional cost. Updated for Java 25, with more updates following soon!&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;A new video by &lt;strong&gt;Catherine Edelveis&lt;/strong&gt; : &lt;a href="https://www.youtube.com/watch?v=2KiFPZIc0MI" target="_blank" rel="noopener noreferrer"&gt;Top 7 JavaFX Testing Mistakes You Need To Avoid!&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;Stop making these common JavaFX testing mistakes! No more random NullPointerExceptions or deadlocks &amp;mdash; in this video, we&amp;rsquo;ll show you how to fix the 7 most common TestFX pitfalls when testing JavaFX applications. Learn how to handle FX threading, integrate with Spring Boot, avoid event queue races, fix pixel test differences, configure headless CI with Monocle, and properly separate business logic from UI tests. Whether you&amp;rsquo;re writing your first JavaFX test or debugging flaky CI builds, this guide will help you build reliable and maintainable UI tests.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;New &amp;ldquo;JavaFX In Action&amp;rdquo; interviews, published by &lt;strong&gt;Frank Delporte&lt;/strong&gt; :
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://webtechie.be/post/2025-10-16-jfxinaction-vlad-protsenko-closure-cljfx-defold/" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Vlad Protsenko&lt;/strong&gt;, Combining Clojure with JavaFX for Game Development with Defold&lt;/a&gt;
. &amp;ldquo;&lt;em&gt;Vlad is a Clojure developer working at Defold. While I initially wanted to learn about the Cljfx project, our conversation evolved into a learning experience: a practical getting-started guide to Clojure, a hands-on demonstration of building JavaFX user interfaces with minimal code, and an inside look at the Defold game engine and its JavaFX-based IDE.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="#ZgotmplZ"&gt;&lt;strong&gt;Matt Coley&lt;/strong&gt; about Recaf and the JavaFX libraries he&amp;rsquo;s working on&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;But unexpectedly, I got a deep-dive course on #Java byte code, obfuscated code, and how JARs can be (ab)used to hide the real code they are executing&amp;hellip;! So, it&amp;rsquo;s not just a new JavaFX In Action interview, but an inspiring story about how Matt got into the foundations of the Java language thanks to his love for Minecraft.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-7-tutorials"&gt;Tutorials&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Abid Maqbool&lt;/strong&gt; published &lt;a href="https://www.linkedin.com/pulse/my-journey-porting-javafx-macos-iphone-challenges-tips-maqbool-7pxme/" target="_blank" rel="noopener noreferrer"&gt;My Journey of Porting JavaFX to macOS and iPhone &amp;mdash; Challenges, Tips, and Cross-Platform Lesson&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;In this article, I&amp;rsquo;ll share my motivations, challenges, setup, results, and key lessons from testing JavaFX for macOS and iPhone. Hopefully, this will help other developers aiming to explore true cross-platform Java development.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Haidar Ali&lt;/strong&gt; on the Baeldung website: &lt;a href="https://www.baeldung.com/javafx-constructor-vs-initialize" target="_blank" rel="noopener noreferrer"&gt;Constructor vs initialize() Method in OpenJFX&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;In this article, we&amp;rsquo;ll compare the standard constructor method of POJO and the JavaFX-specific initialize() method. First, we&amp;rsquo;ll grasp the JavaFX controller lifecycle, and then we&amp;rsquo;ll compare it against a constructor. Finally, we&amp;rsquo;ll look at some of the gotchas, pitfalls, and best practices that we can employ in a JavaFX software.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;From &lt;strong&gt;Michiel&lt;/strong&gt; : &amp;ldquo;&lt;em&gt;Yes, I&amp;rsquo;ve managed to deploy my very first 100% Java (with JavaFX) mobile application in the &lt;a href="https://play.google.com/store/apps/details?id=nl.dotjava.javafx.iceconverter" target="_blank" rel="noopener noreferrer"&gt;Google Play Store&lt;/a&gt;
! I&amp;rsquo;ve described the &lt;a href="https://www.dotjava.nl/2025/10/05/signing-your-app-to-get-it-in-the-google-play-store/" target="_blank" rel="noopener noreferrer"&gt;process of getting it in the Play Store here&lt;/a&gt;
. Now you can convert euros to Icelandic krónur without building the app first 😉 Of course, it&amp;rsquo;s still &lt;a href="https://github.com/michiel-jfx/iceconverter" target="_blank" rel="noopener noreferrer"&gt;free and open source&lt;/a&gt;
.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-8-miscellaneous"&gt;Miscellaneous&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://bsky.app/profile/johanvos.bsky.social/post/3lzzz7kiwhc26" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Johan Vos&lt;/strong&gt; is looking forward&lt;/a&gt;
 to Devoxx Belgium next week: &amp;ldquo;&lt;em&gt;Excellent speakers/sessions, and great atmosphere. I&amp;rsquo;m more than happy to do interviews about &lt;a href="https://github.com/openjdk-mobile" target="_blank" rel="noopener noreferrer"&gt;Java/JavaFX on Mobile&lt;/a&gt;
 so ping me if interested. (also happy to chat about quantum computing, javafx, science, cycling&amp;hellip;)&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://bsky.app/profile/thejeed.bsky.social/post/3lzsrffhc622y" target="_blank" rel="noopener noreferrer"&gt;Weekend hustle by &lt;strong&gt;David&lt;/strong&gt;&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;Testing JavaFX Direct3D 12 support 🤓 Since I&amp;rsquo;ve got the RTX 4090, JavaFX projects feel a bit brittle on Nvidia&amp;rsquo;s Game Ready and Studio drivers. I&amp;rsquo;m not sure if it&amp;rsquo;s really a JFX issue or the drivers don&amp;rsquo;t work as expected&amp;hellip;maybe I&amp;rsquo;ll know more in a few hours.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://bsky.app/profile/dlemmermann.bsky.social/post/3m2lx4k2ul22v" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Dirk Lemmermann&lt;/strong&gt; shared screenshots&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;Thanks to the new stage style EXTENDED in JavaFX 25 we now have full control over the user experience in JavaFX applications. Together with the new HeaderBar control we can place controls in the title bar area. Add AtlantaFX theming (including dark mode) and UIs are pro level.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://bsky.app/profile/hansolo.eu/post/3m3jqu2uans27" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Gerrit Grunwald&lt;/strong&gt; is using JavaFX as an animation tool&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;Was looking for a tool to animate text to create some stuff for my PixelMug &amp;hellip; well the easiest thing to so was creating the animations with JavaFX , export as png&amp;rsquo;s and create an animated gif&amp;hellip;done 😁 I ❤️ it.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://bsky.app/profile/mattcoley.bsky.social/post/3m3wok2nync2m" target="_blank" rel="noopener noreferrer"&gt;Tip by &lt;strong&gt;Matt Coley&lt;/strong&gt;&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;If you&amp;rsquo;re using the JavaFX &amp;lsquo;Flowless&amp;rsquo; library for virtualized controls and are observing sluggish performance, do not add stylesheets to the Virtualized Node. Add them to the Scene. I observed an immediate 10x performance boost by doing this.&lt;/em&gt; &amp;quot; A video demo is &lt;a href="https://www.youtube.com/watch?v=l4PcbsDa-zU" target="_blank" rel="noopener noreferrer"&gt;available here&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://bsky.app/profile/cdetastes.bsky.social/post/3m3wel4pj522w" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Clément de Tastes&lt;/strong&gt; wrote a JavaFX app that uses Java&amp;rsquo;s upcoming &amp;ldquo;Value Types&amp;rdquo;&lt;/a&gt;
 from OpenJDK Project Valhalla: &amp;ldquo;&lt;em&gt;Combining the strength of encapsulation with the performance of primitives.&lt;/em&gt; &amp;quot; Code is &lt;a href="https://github.com/CodeSimcoe/MandelbrotFx/tree/valhalla" target="_blank" rel="noopener noreferrer"&gt;on GitHub&lt;/a&gt;
.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-9-jfx-central"&gt;JFX Central&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;New content on JFX Central:
&lt;ul&gt;
&lt;li&gt;Showcase: &lt;a href="https://www.jfx-central.com/showcases/polarion" target="_blank" rel="noopener noreferrer"&gt;Polarion Application Lifecycle Management (ALM)&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Showcase: &lt;a href="https://www.jfx-central.com/showcases/recaf" target="_blank" rel="noopener noreferrer"&gt;Recaf&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;People: &lt;a href="https://www.jfx-central.com/people/v.protsenko" target="_blank" rel="noopener noreferrer"&gt;Vlad Protsenko&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;People: &lt;a href="https://www.jfx-central.com/people/m.coley" target="_blank" rel="noopener noreferrer"&gt;Matt Coley&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Library: &lt;a href="https://www.jfx-central.com/libraries/treemapfx" target="_blank" rel="noopener noreferrer"&gt;TreeMapFX&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Tools: &lt;a href="https://www.jfx-central.com/tools/cljfx" target="_blank" rel="noopener noreferrer"&gt;Cljfx&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Video: &lt;a href="https://www.jfx-central.com/videos/1JL6zdkM1GU" target="_blank" rel="noopener noreferrer"&gt;JavaFX In Action with Vlad Protsenko: Combining Clojure with JavaFX&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Video: &lt;a href="https://www.jfx-central.com/videos/6NIJ54h3iVY" target="_blank" rel="noopener noreferrer"&gt;JavaFX In Action with Matt Coley about Recaf and his JavaFX libraries&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;The links of September got &lt;a href="https://foojayio.github.io/website/today/javafx-links-of-september-2025/"&gt;published on Foojay&lt;/a&gt;
.&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>JavaFX Links of September 2025</title><link>https://foojayio.github.io/website/today/javafx-links-of-september-2025/</link><pubDate>Tue, 30 Sep 2025 06:08:48 +0000</pubDate><guid>https://foojayio.github.io/website/today/javafx-links-of-september-2025/</guid><description>&lt;p&gt;Here is the overview of the JavaFX LinksOfTheMonth of September 2025. You can find the weekly lists on &lt;a href="https://www.jfx-central.com/links" target="_blank" rel="noopener noreferrer"&gt;jfx-central.com&lt;/a&gt;
. Did we miss anything? Is there anything you want to have included in one of the next overviews? Let us know via &lt;a href="https://foojayio.github.io/website/cdn-cgi/l/email-protection"&gt;[email protected]&lt;/a&gt;
.&lt;/p&gt;
&lt;h2 id="h2-0-core"&gt;Core&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Java and JavaFX 25 are released! This new Long Term Support (LTS) will be maintained and updated for many more years, so we can expect a lot of production systems will be upgraded to this version&amp;hellip;
&lt;ul&gt;
&lt;li&gt;Important: JavaFX 25 Requires JDK 23 or later.&lt;/li&gt;
&lt;li&gt;You can download JavaFX 25 &lt;a href="https://gluonhq.com/products/javafx/" target="_blank" rel="noopener noreferrer"&gt;from the Gluon website&lt;/a&gt;
 or download the Maven artifacts from Maven Central.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://gluonhq.com/products/javafx/openjfx-25-release-notes/" target="_blank" rel="noopener noreferrer"&gt;JavaFX 25 release notes by Gluon&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://openjfx.io/highlights/25/" target="_blank" rel="noopener noreferrer"&gt;JavaFX 25 Highlights on openjfx.io&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://docs.azul.com/core/release-notes" target="_blank" rel="noopener noreferrer"&gt;Java 25 release notes by Azul&lt;/a&gt;
, including OpenJDK JEPs and the list with JavaFX fixes.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://inside.java/2025/09/23/javafx-25/" target="_blank" rel="noopener noreferrer"&gt;JavaFX 25 Highlights by &lt;strong&gt;Kevin Rushforth&lt;/strong&gt;&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;JavaFX 25 is here with several new features and improvements! JavaFX 25 is designed to work with JDK 25, and is known to work with JDK 23 and later versions. Here are the highlights of the JavaFX 25 release&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Stefan Richthofer&lt;/strong&gt; published on APIdia the &lt;a href="https://apidia.net/mvn/org.openjfx/javafx/25/" target="_blank" rel="noopener noreferrer"&gt;documentation of the new JavaFX 25 release&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;This includes the incubating modules (input and richtext), however they are hidden by default. You can enable hidden modules via the menu in the top-right, see &lt;a href="https://bsky.app/profile/stewori.bsky.social/post/3lz6x4ha2uk24" target="_blank" rel="noopener noreferrer"&gt;the screenshot&lt;/a&gt;
.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Gluon announced the &lt;a href="https://openjdk-mobile.github.io" target="_blank" rel="noopener noreferrer"&gt;new website for OpenJDK on Mobile&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;An initiative to collaborate on tools/expertise for real Java on Mobile, see &lt;a href="https://mail.openjdk.org/pipermail/mobile-dev/2025-August/000985.html" target="_blank" rel="noopener noreferrer"&gt;the &lt;code&gt;mobile-dev&lt;/code&gt; mailinglist&lt;/a&gt;
. Let&amp;rsquo;s leverage the power, beauty and maintainability of OpenJDK to run Java apps on mobile!&lt;/em&gt;&amp;rdquo;
&lt;ul&gt;
&lt;li&gt;You can read more in the blog post: &lt;a href="https://gluonhq.com/bringing-openjdk-to-mobile-a-community-effort/" target="_blank" rel="noopener noreferrer"&gt;Bringing OpenJDK to Mobile: A Community Effort&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://bsky.app/profile/gluonhq.com/post/3lyfu2mwbhs2u" target="_blank" rel="noopener noreferrer"&gt;Announcement by &lt;strong&gt;Gluon&lt;/strong&gt;&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;Another major milestone for JavaFX: the Metal pipeline is now enabled by default in 26-ea builds, which you can &lt;a href="https://gluonhq.com/products/javafx/#ea" target="_blank" rel="noopener noreferrer"&gt;download here&lt;/a&gt;
. Read more about it &lt;a href="https://mail.openjdk.org/pipermail/openjfx-dev/2025-August/055993.html" target="_blank" rel="noopener noreferrer"&gt;in the openjfx-dev mailinglist&lt;/a&gt;
. This is excellent work by the JavaFX team at Oracle. Feedback is greatly appreciated!&lt;/em&gt; &amp;quot;
&lt;ul&gt;
&lt;li&gt;Followed by a &lt;a href="https://bsky.app/profile/johanvos.bsky.social/post/3lyfuw66pjs26" target="_blank" rel="noopener noreferrer"&gt;request from &lt;strong&gt;Johan Vos&lt;/strong&gt;&lt;/a&gt;
: &amp;ldquo;_If you&amp;rsquo;re on mac, please try JavaFX 26-ea+6 and share feedback. Tip: add &lt;code&gt;MARKDOWN_HASH2ad2e7464c1b84e91dbe41e72ff65eecMARKDOWN&lt;/code&gt;&lt;em&gt;HASH&lt;/em&gt; which will confirm you&amp;rsquo;re really using metal, as shown below. Many thanks to Kevin, Ambarish, Ajit, Jayathirth and others for their great work.&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://bsky.app/profile/johanvos.bsky.social/post/3lywvyv4jz22a" target="_blank" rel="noopener noreferrer"&gt;Message by &lt;strong&gt;Johan Vos&lt;/strong&gt;&lt;/a&gt;
 (inspired by the &lt;a href="https://blogs.oracle.com/java/post/detaching-graalvm-from-the-java-ecosystem-train" target="_blank" rel="noopener noreferrer"&gt;Graal-related announcement of Oracle&lt;/a&gt;
): &amp;ldquo;&lt;em&gt;To be very clear on the broader &lt;a href="https://openjdk-mobile.github.io/" target="_blank" rel="noopener noreferrer"&gt;OpenJDK-mobile initiative we announced last month with Gluon&lt;/a&gt;
: this is all based on &lt;a href="https://github.com/openjdk/mobile" target="_blank" rel="noopener noreferrer"&gt;open-source tech (github.com/openjdk/mobile)&lt;/a&gt;
. We deliberately avoided dependencies on company-owned products. We &lt;em&gt;very much&lt;/em&gt; depend on, and leverage the great technical work, including the open discussions in OpenJDK mailing lists, GitHub PR&amp;rsquo;s and JBS issues. Important to make the distinction between the top-quality work from engineers and the strategic decisions made by companies.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-1-applications"&gt;Applications&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Dean Courtney&lt;/strong&gt; shared the &lt;a href="https://github.com/dean-703/dietai" target="_blank" rel="noopener noreferrer"&gt;sources of DietAI&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;It&amp;rsquo;s a JavaFX application designed for diet analysis, allowing users to import CSV files from diet trackers. It displays entries in a table, summarizes nutritional data, and utilizes AI for personalized evaluations. Users can set profiles and goals and compare actual intake against targets.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Helal Anwar&lt;/strong&gt; shared the &lt;a href="https://github.com/Hilal-Anwar/GradedAttendance" target="_blank" rel="noopener noreferrer"&gt;sources, including a video demo, of GradedAttendance&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;A comprehensive attendance management system with integrated grading capabilities, designed to streamline educational institution workflows and provide efficient student attendance tracking.&lt;/em&gt; &amp;quot;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.linkedin.com/feed/update/urn:li:activity:7375391855204696064/" target="_blank" rel="noopener noreferrer"&gt;And he shared a screenshot on LinkedIn&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;A messaging app implemented in JavaFX. How does this look?&lt;/em&gt; &amp;quot; Sources are available &lt;a href="https://github.com/Hilal-Anwar/GradedAttendance" target="_blank" rel="noopener noreferrer"&gt;here&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Helal&lt;/strong&gt; also created a Quiz app as part of an internship at Elevate Labs using JavaFX. Sources, screenshots and demo video are &lt;a href="https://github.com/Hilal-Anwar/QuizTime" target="_blank" rel="noopener noreferrer"&gt;available on GitHub&lt;/a&gt;
.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://foojay.social/@jabref/115117290929844138" target="_blank" rel="noopener noreferrer"&gt;Message from JabRef&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;JabRef has so many features that it&amp;rsquo;s sometimes difficult to get started. This year&amp;rsquo;s completed GSOC project from our student Yubo changes this. He successfully implemented a Welcome Walkthrough that helps new users to set up JabRef. This also includes the revamped welcome tab with quick settings. For more details, see &lt;a href="https://blog.jabref.org/2025/08/14/walkthrough-and-welcome-tab/" target="_blank" rel="noopener noreferrer"&gt;our blog post&lt;/a&gt;
.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/heyMadhur/ImageProcessorApp" target="_blank" rel="noopener noreferrer"&gt;Published by &lt;strong&gt;Madhur Gupta&lt;/strong&gt; on GitHub&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;ImageProcessorApp: Lightweight JavaFX demo that applies tile-based image filters synchronously or asynchronously.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;Just like last week, a new &lt;a href="https://github.com/dean-703/aiassistant" target="_blank" rel="noopener noreferrer"&gt;AI project shared on GitHub by &lt;strong&gt;Dean Courtney&lt;/strong&gt;&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;AI Assistant - OpenAI Desktop Client: a JavaFX client for ChatGPT, designed to be a useful and versatile interface to the OpenAI API.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;Very nice application screenshots &lt;a href="https://www.reddit.com/r/java/comments/1na6zuf/with_all_the_ai_website_slop_going_around_here/" target="_blank" rel="noopener noreferrer"&gt;shared on Reddit by &lt;strong&gt;Gufran Thakur&lt;/strong&gt;&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;With all the AI website slop going around, here are some Java desktop applications I created at work!&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://bsky.app/profile/logorrr.bsky.social/post/3lysnfnjgy226" target="_blank" rel="noopener noreferrer"&gt;LogoRRR shared a screenshot&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;After the release of 25.1.0, work is ongoing for the &amp;lsquo;NextRelease&amp;rsquo;! The searchterm toolbar gets a facelift - it looks far better, what do you think? &lt;a href="https://www.logorrr.app/" target="_blank" rel="noopener noreferrer"&gt;Download LogoRRR here&lt;/a&gt;
&lt;/em&gt;.&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://bsky.app/profile/cat-edelveis.bsky.social/post/3lynhk6wl5s2l" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Catherine Edelveis&lt;/strong&gt; refactored RaffleFX app&lt;/a&gt;
 &amp;ldquo;&lt;em&gt;which demonstrates the usage of GraalVM Native Image with desktop apps, to use Gradle, so if you&amp;rsquo;d like to create native images of Gradle-based JavaFX projects, &lt;a href="https://github.com/code-with-bellsoft/raffle-gradle" target="_blank" rel="noopener noreferrer"&gt;you can use it as a starting point&lt;/a&gt;
&lt;/em&gt;.&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-2-components-libraries-tools"&gt;Components, Libraries, Tools&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.jdeploy.com/docs/releases/5.0/release-notes.html" target="_blank" rel="noopener noreferrer"&gt;jDeploy 5.0&lt;/a&gt;
, the tool the to distribute your Java(FX) app as a native bundle, has been released. It now includes &lt;a href="https://jdeploy.substack.com/p/finally-arm64-support-for-windows" target="_blank" rel="noopener noreferrer"&gt;ARM64 support for Windows and Linux&lt;/a&gt;
 on both desktop and CLI apps.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Dirk Lemmermann&lt;/strong&gt; is a fan of AtlantaFX: &amp;ldquo;&lt;em&gt;Our CRM system at Senapt / Tomato Energy has now been completely transitioned to the AtlantaFX theme / theming support. The result is a much more pleasant user experience. A clean, modern looking UI. The semantic colors give us multi-theme / dark-mode support for free.&lt;/em&gt; &amp;quot; Check the &lt;a href="https://bsky.app/profile/dlemmermann.bsky.social/post/3lxryso6uy223" target="_blank" rel="noopener noreferrer"&gt;screenshots in his Bluesky message&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://bsky.app/profile/dlemmermann.bsky.social/post/3lyih22nzrk25" target="_blank" rel="noopener noreferrer"&gt;Announcement with screenshots by &lt;strong&gt;Dirk Lemmermann&lt;/strong&gt;&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;CalendarFX 12.0.1 has built-in support for AtlantaFX. Several themes and dark mode support for free.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://bsky.app/profile/sosuisen.bsky.social/post/3lyimtmomzk2x" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Hidekazu Kubota&lt;/strong&gt; announced on Bluesky&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;I&amp;rsquo;m releasing the results of my one month of effort. The &lt;a href="https://github.com/sosuisen/javafx-builder-api" target="_blank" rel="noopener noreferrer"&gt;JavaFX Builder API Project&lt;/a&gt;
 provides a builder pattern API for JavaFX UI components, enabling the creation of JavaFX applications through a fluent, strongly typed, and declarative approach. This adds flavors that fluent API enthusiasts will appreciate on top of the original JavaFX API. Currently, it is a SNAPSHOT version that can be tested by adding it as a Maven dependency. I plan to release an early access version next, but before that, I would like feedback from JavaFX developers.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://bsky.app/profile/sosuisen.bsky.social/post/3lytxkzgwac2q" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Hidekazu Kubota&lt;/strong&gt; on Bluesky&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;I have been developing a VSCode extension to generate JavaFX builders, but I decided to &lt;a href="https://github.com/sosuisen/javafx-builder-api" target="_blank" rel="noopener noreferrer"&gt;rewrite it as a library&lt;/a&gt;
 for a better approach. Recognizing the library&amp;rsquo;s clear potential, I chose to halt the development of the extension.&lt;/em&gt; &amp;quot;
&lt;ul&gt;
&lt;li&gt;And a &lt;a href="https://bsky.app/profile/sosuisen.bsky.social/post/3lyyj2hqhus2x" target="_blank" rel="noopener noreferrer"&gt;follow-up message&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;The JavaFX Builder API has been updated to support JavaFX 25. Since the JavaFX API is quite stable, I believe that supporting it through a code generator approach is straightforward.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;JPro (to run JavaFX in the browser) released version 2025.3.1: &amp;ldquo;&lt;em&gt;Now supports Java and JavaFX 25, and Gradle 9. The JPro Loadbalancer is now released together with the runtime, and we&amp;rsquo;ve made a lot of changes under the hood.&lt;/em&gt; &amp;quot; Check the &lt;a href="https://www.jpro.one/docs/jpro-webapi/changelog/1/1/2025.3.x" target="_blank" rel="noopener noreferrer"&gt;release notes here&lt;/a&gt;
.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-3-podcasts-videos-books"&gt;Podcasts, Videos, Books&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Short video: &lt;a href="https://www.youtube.com/shorts/Wrl1_NnruyI" target="_blank" rel="noopener noreferrer"&gt;JavaFX vs Electron, The Ultimate Performance Showdown!&lt;/a&gt;
 which is part of the &lt;a href="https://www.youtube.com/watch?v=Pg7vuclC3KI" target="_blank" rel="noopener noreferrer"&gt;Ben &amp;amp; Ryan Show - Episode 22 - BoxLang&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;In this episode, your hosts Ben Nadel and Ryan Brown sit down with Luis Majano and Daniel Garcia from Ortus Solutions to dive deep into BoxLang, the dynamic new language for the JVM. From modular design to multi-runtime capabilities and modern tooling, this conversation explores past, present, and future of BoxLang.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-4-tutorials"&gt;Tutorials&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://genuinecoder.com/javafx-buttons-with-custom-shape/" target="_blank" rel="noopener noreferrer"&gt;JavaFX Custom Shaped Buttons&lt;/a&gt;
 with code examples and a video walk-through by &lt;strong&gt;Muhammed Afsal Villan&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;A great article with a lot of code examples by &lt;strong&gt;Catherine Edelveis&lt;/strong&gt; on DZone: &lt;a href="https://dzone.com/articles/top-javafx-testing-mistakes" target="_blank" rel="noopener noreferrer"&gt;Top 7 Mistakes When Testing JavaFX Applications&lt;/a&gt;
. &amp;ldquo;&lt;em&gt;Testing JavaFX programs may seem non-trivial at first. This article describes the most common mistakes when testing desktop apps, their causes, and solutions.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-5-miscellaneous"&gt;Miscellaneous&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;A &lt;a href="https://bsky.app/profile/toddnotmitchell.com/post/3lxqm5io4322k" target="_blank" rel="noopener noreferrer"&gt;fun message by &lt;strong&gt;Todd Mitchell&lt;/strong&gt;&lt;/a&gt;
 about &amp;ldquo;abused JavaFX code&amp;rdquo;: &amp;ldquo;&lt;em&gt;Very distracting in the Unknown Number / High School Catfish doc that when the FBI guy starts talking about extracting phone data they show made up contact information for Charlie Brown, Ethan Hunt, and Kevin McCallister laid over a guy&amp;rsquo;s JavaFX game code I was able to find on Russian StackOverflow.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;Last week we had a Mandelbrot example by &lt;strong&gt;A N M &amp;ldquo;Bazlur&amp;rdquo; Rahman&lt;/strong&gt; . This week, thanks to a &lt;a href="https://bsky.app/profile/maxandersen.xam.dk/post/3lxzl67e3222v" target="_blank" rel="noopener noreferrer"&gt;tip by &lt;strong&gt;Max Rydahl Andersen&lt;/strong&gt;&lt;/a&gt;
, we have another one. MandelbrotFx, a fractal (Mandelbrot, Julia, &amp;hellip;) explorer written with JavaFX, is a &lt;a href="https://github.com/CodeSimcoe/MandelbrotFx" target="_blank" rel="noopener noreferrer"&gt;project shared by &lt;strong&gt;Clément de Tastes&lt;/strong&gt;&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://bsky.app/profile/johanvos.bsky.social/post/3lxzbhapzn22w" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Johan Vos&lt;/strong&gt; on Bluesky&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;There are so many cool performance tricks for JavaFX that I sometimes think I should write a book about it. But that takes a huge amount of time. I&amp;rsquo;ll think a bit more about how to deal with this.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://bsky.app/profile/dlemmermann.bsky.social/post/3lyiiqznzls25" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Dirk Lemmermann&lt;/strong&gt; uses JavaFX styling in the best possible way&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;&amp;lsquo;Empathy driven development&amp;rsquo;&amp;rdquo;&amp;rsquo; means to consider that there are users out there with disabilities. One of them is &amp;lsquo;color vision deficiency&amp;rsquo; (CVD), and today I added a preferences pane that allows our users to pick their status colours based on their CVD.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;And &lt;a href="https://bsky.app/profile/dlemmermann.bsky.social/post/3lyl3wr3w4s2a" target="_blank" rel="noopener noreferrer"&gt;another message with screenshot by &lt;strong&gt;Dirk&lt;/strong&gt;&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;Once again amazed how well JavaFX runs inside browsers via &lt;a href="https://foojayio.github.io/website/www.jpro.one"&gt;JPRO&lt;/a&gt;
.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://bsky.app/profile/frankdelporte.be/post/3lz4fnslmus2c" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Frank Delporte&lt;/strong&gt; bumped his Raspberry Pi&amp;rsquo;s to version 25&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;Welcome to Java 25 on the Raspberry Pi! The install script in the &lt;a href="https://github.com/Pi4J/pi4j-os" target="_blank" rel="noopener noreferrer"&gt;Pi4J OS repository&lt;/a&gt;
 to configure a new Raspberry Pi has been updated to install Azul Zulu 25 with JavaFX. Or you can &lt;a href="https://www.pi4j.com/prepare/install-java/" target="_blank" rel="noopener noreferrer"&gt;follow the updated instructions on the Pi4J website&lt;/a&gt;
.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://blog.sciam.fr/2025/09/22/value-types-et-fractales.html" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Clément de Tastes&lt;/strong&gt; published &amp;ldquo;Valhalla &amp;amp; Value Types au pays des fractales&amp;rdquo;&lt;/a&gt;
 in French. Translated intro: &amp;ldquo;&lt;em&gt;We invite you to make a leap in the future of Java, especially through improvements that the Valhalla project prepares for us. We will take the opportunity to put them into practice on a talking example: the calculation and visualization of the whole of Mandelbrot.&lt;/em&gt;&amp;rdquo; In the article, JavaFX is used to generate beautiful fractals.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-6-jfx-central"&gt;JFX Central&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;New content on JFX Central:
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.jfx-central.com/showcases/defold" target="_blank" rel="noopener noreferrer"&gt;Defold, the game engine for high-performance cross-platform games&lt;/a&gt;
.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;The links of August got &lt;a href="https://foojayio.github.io/website/today/javafx-links-of-august-2025/"&gt;published on Foojay&lt;/a&gt;
.&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>JavaFX Links of August 2025</title><link>https://foojayio.github.io/website/today/javafx-links-of-august-2025/</link><pubDate>Sun, 31 Aug 2025 07:57:13 +0000</pubDate><guid>https://foojayio.github.io/website/today/javafx-links-of-august-2025/</guid><description>&lt;p&gt;Here are the links shared on &lt;a href="https://www.jfx-central.com/links" target="_blank" rel="noopener noreferrer"&gt;jfx-central.com&lt;/a&gt;
 in the August summary.&lt;/p&gt;
&lt;p&gt;Did we miss anything? Is there anything you want to have included in one of the next overviews? Let us know via &lt;a href="https://foojayio.github.io/website/cdn-cgi/l/email-protection"&gt;[email protected]&lt;/a&gt;
.&lt;/p&gt;
&lt;h2 id="h2-0-core"&gt;Core&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://bsky.app/profile/did:plc:tysr26jaqf3moymuf7jc2uyr/post/3lv2hizyo6k25" target="_blank" rel="noopener noreferrer"&gt;Announced by &lt;strong&gt;Johan Vos&lt;/strong&gt;&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;JavaFX now has a Headless platform. &lt;a href="https://bugs.openjdk.org/browse/JDK-8324941" target="_blank" rel="noopener noreferrer"&gt;JDK-8324941&lt;/a&gt;
 is now Resolved! Pfew, that took me 1 year, 5 months and 29 days. Goodnight!&lt;/em&gt; &amp;quot;
&lt;ul&gt;
&lt;li&gt;Read more in this blog post: &lt;a href="https://gluonhq.com/introducing-the-headless-platform-for-javafx/" target="_blank" rel="noopener noreferrer"&gt;Introducing the Headless Platform for JavaFX&lt;/a&gt;
.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;And &lt;strong&gt;Johan&lt;/strong&gt; is also &lt;a href="https://mastodon.social/@johanvos/115105044172821272" target="_blank" rel="noopener noreferrer"&gt;making progress with Java on Mobile&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;OpenJDK on mobile developers should be excited: we&amp;rsquo;re very close to a full, transparent, open release of the status. Workflow is cool now: I made a simple change in OpenJDK, ran 2 scripts, clicked &amp;ldquo;cmd-R&amp;rdquo; in Xcode, and HelloWorld appeared again (with the changed JDK) on my iPhone.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;Still using JavaFX 8 in production and need a solution to run it securely after Oracle stopped supporting it? Check out this blog post by &lt;strong&gt;Frank Delporte&lt;/strong&gt; about the solution provided by Azul: &lt;a href="https://www.azul.com/blog/keep-your-javafx-8-applications-secure-and-running/" target="_blank" rel="noopener noreferrer"&gt;Keep your JavaFX 8 Applications Secure and Running&lt;/a&gt;
.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-1-applications"&gt;Applications&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://bsky.app/profile/hansolo.eu/post/3lwephwpids2i" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Gerrit Grunwald&lt;/strong&gt; on Bluesky&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;Last night I&amp;rsquo;ve &lt;a href="https://github.com/HanSolo/timebuddyfx" target="_blank" rel="noopener noreferrer"&gt;implemented TimeBuddy&lt;/a&gt;
 which is my favorite timezone app on iOS in #JavaFX might be time for another #FridayFunComponent 😁&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://bsky.app/profile/dotjava.bsky.social/post/3lvuy7zc4sk2a" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Michiel&lt;/strong&gt; on Bluesky&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;I&amp;rsquo;ve created a 100% #java open source mobile phone app (#android only for now): An Icelandic currency converter (IceCo). The project uses Java, Javafx with FXML only. &lt;a href="https://github.com/michiel-jfx/iceconverter" target="_blank" rel="noopener noreferrer"&gt;See GitHub&lt;/a&gt;
. Converts krónur to euro (vice versa)&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-2-games"&gt;Games&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Konstantin Ryadov&lt;/strong&gt; is &lt;a href="https://github.com/kryadov/labyrinth7" target="_blank" rel="noopener noreferrer"&gt;experimenting with FXGL to build a labyrinth game&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;A small first‑person labyrinth game built with Java 21, JavaFX 21 (3D) and FXGL. A randomized maze is generated each level; find the animated exit to advance. The game features textured 3D walls/floor/ceiling, ambient lighting, footstep sounds, and background music for the menu and in‑game.&lt;/em&gt; &amp;quot; He published two videos:
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=NgOb9DGl8pA" target="_blank" rel="noopener noreferrer"&gt;Opensourced: Yet another labyrinth using JavaFX and FXGL&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=6qFd9VvMIec" target="_blank" rel="noopener noreferrer"&gt;1.0.1 - new updates&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/gardensim/GardenSim" target="_blank" rel="noopener noreferrer"&gt;Computerized Garden, a.k.a. GardenSim&lt;/a&gt;
, is a Java 17 + JavaFX 22 project that simulates a small garden by &lt;strong&gt;Wineel Wilson Dasari&lt;/strong&gt;. You can plant (Rose, Tomato, Orange), simulate weather, spawn/control pests, and watch plants survive or die over days.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://store.steampowered.com/app/3739280/Nocturne_FX/" target="_blank" rel="noopener noreferrer"&gt;Released on Steam: Nocturne FX&lt;/a&gt;
. &amp;ldquo;&lt;em&gt;Built entirely in JavaFX, Nocturne FX™ is a high-intensity arcade game where survival warps reality. Power-ups destabilize, patterns shift, and hidden systems awaken&amp;mdash;the longer you last, the more the world unravels.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-3-components-libraries-tools"&gt;Components, Libraries, Tools&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Gerrit Grunwald&lt;/strong&gt; released &lt;a href="https://central.sonatype.com/artifact/eu.hansolo.fx/charts" target="_blank" rel="noopener noreferrer"&gt;version 21.0.27&lt;/a&gt;
 of his Charts library with a new SpiderChart &amp;ldquo;&lt;em&gt;just for the fun of it 🙂&lt;/em&gt;&amp;rdquo;.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-4-podcasts-videos-books"&gt;Podcasts, Videos, Books&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;During the &lt;a href="https://www.youtube.com/watch?v=axbx2kTuJf0" target="_blank" rel="noopener noreferrer"&gt;CyberJAR live stream &amp;ldquo;Chatting about Java, JavaFX, and Experiments on the Raspberry Pi&amp;rdquo;&lt;/a&gt;
 with &lt;strong&gt;Catherine Edelveis&lt;/strong&gt; and &lt;strong&gt;Frank Delporte&lt;/strong&gt;, several JavaFX applications where demonstrated running on Raspberry Pi.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-5-tutorials"&gt;Tutorials&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Video tutorials:
&lt;ul&gt;
&lt;li&gt;By &lt;strong&gt;Plant Fall&lt;/strong&gt; : &lt;a href="https://www.youtube.com/watch?v=_mmk_4Wvmkk" target="_blank" rel="noopener noreferrer"&gt;Creating a Desktop app rapidly with JavaFX and VsCode&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;By &lt;strong&gt;HTRP&lt;/strong&gt; : &lt;a href="https://www.youtube.com/watch?v=qiLj9-nh28k" target="_blank" rel="noopener noreferrer"&gt;Step-by-step guide to connect a javaFX project with Microsoft SQL Server using IntelliJ&lt;/a&gt;
.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-6-miscellaneous"&gt;Miscellaneous&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.linkedin.com/posts/bazlur_java-javafx-activity-7361613329703862272-Rl0h/" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;A N M &amp;ldquo;Bazlur&amp;rdquo; Rahman&lt;/strong&gt; on LinkedIn&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;You can create incredible things with JavaFX. &lt;a href="https://github.com/rokon12/Mandelbrot" target="_blank" rel="noopener noreferrer"&gt;Here are some examples I made with it&lt;/a&gt;
.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.linkedin.com/posts/william-ant%C3%B4nio-siqueira-968bba14_i-just-added-a-log-inspector-to-llm-fx-suggestion-activity-7359788094599966722-nMEu/" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;William Antônio Siqueira&lt;/strong&gt; shared a screenshot on LinkedIn&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;I just added a log inspector to LLM FX, suggestion from &lt;strong&gt;Max Rydahl Andersen&lt;/strong&gt; - thanks! This feature allow us to precisely see what Tools were called by the LLM Server and what messages were sent to it. This was possible because today was Day of Learning at Red Hat, so I invested some time learning more about Jupyter Lab extensions, LLM Tools Calling internally and then took some time to inspect some tools call.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://bsky.app/profile/johanvos.bsky.social/post/3lweonfbbc22m" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Johan Vos&lt;/strong&gt; on Bluesky&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;One of my favorite API&amp;rsquo;s for JavaFX testing is Scene.addPostLayoutPulseListener(). I often need to test a condition at the end of a Pulse, and with this API, I can do that.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.reddit.com/r/java/comments/1msmgve/my_experience_switching_from_java_swing_to_javafx/" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;gufranthakur&lt;/strong&gt; on Reddit&lt;/a&gt;
 wrote a long post &amp;ldquo;My experience switching from Java swing to JavaFX&amp;rdquo;, with a nice conclusion, and a lot of comments: &amp;ldquo;&lt;em&gt;My Final verdict: JavaFX is better than Swing. There I said it. This does not mean Swing sucks, I will forever be grateful to Swing for getting me addicted and good at desktop application development.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-7-jfx-central"&gt;JFX Central&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;New content on JFX Central:
&lt;ul&gt;
&lt;li&gt;Library: &lt;a href="https://www.jfx-central.com/libraries/bentofx" target="_blank" rel="noopener noreferrer"&gt;BentoFX: A docking system for JavaFX.&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Video: &lt;a href="https://www.jfx-central.com/videos/7ZJ6Mro1iAk" target="_blank" rel="noopener noreferrer"&gt;BentoFX - Demo&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;The overview of the Links Of The Week of July &lt;a href="https://foojayio.github.io/website/today/javafx-links-of-july-2025/"&gt;got published on &lt;strong&gt;Foojay&lt;/strong&gt;&lt;/a&gt;
.&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>JavaFX Links of July 2025</title><link>https://foojayio.github.io/website/today/javafx-links-of-july-2025/</link><pubDate>Thu, 31 Jul 2025 06:25:20 +0000</pubDate><guid>https://foojayio.github.io/website/today/javafx-links-of-july-2025/</guid><description>&lt;p&gt;Here is the overview of the JavaFX LinksOfTheMonth of July 2025. You can find the weekly lists on &lt;a href="https://www.jfx-central.com/links" target="_blank" rel="noopener noreferrer"&gt;jfx-central.com&lt;/a&gt;
. Did we miss anything? Is there anything you want to have included in one of the next overviews? Let us know via &lt;a href="https://foojayio.github.io/website/cdn-cgi/l/email-protection"&gt;[email protected]&lt;/a&gt;
.&lt;/p&gt;
&lt;h2 id="h2-0-core"&gt;Core&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;We totally agree with the &lt;a href="https://mastodon.social/@johanvos/114784601278658229" target="_blank" rel="noopener noreferrer"&gt;message from &lt;strong&gt;Johan Vos&lt;/strong&gt; about Gluon&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;Every now and then, it&amp;rsquo;s ok to be proud of yourself (I hope). The fact that we at Gluon, for so many years, are &lt;a href="https://gluonhq.com/products/javafx" target="_blank" rel="noopener noreferrer"&gt;delivering high-quality, secure, free and opensource builds of JavaFX&lt;/a&gt;
, for different OS&amp;rsquo;es, archs, providing 2 LTS trains, EA and other versions, as SDKs/jmods/maven artifacts,&amp;hellip; is actually pretty amazing. We have no devrel/marketing/sales, so I&amp;rsquo;ll say it myself: great job, Gluon!&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Kevin Rushforth&lt;/strong&gt; of Oracle announced on the mailinglist: &amp;ldquo;&lt;em&gt;JavaFX 25 Rampdown Phase 1 (RDP1) starts July 17th. I will fork the &amp;lsquo;jfx25&amp;rsquo;
branch at 16:00 UTC. During rampdown of JavaFX 25, the &amp;lsquo;master&amp;rsquo; branch of the jfx repo will be open for JavaFX 26 fixes.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://techhub.social/@gluonhq/114861746224253592" target="_blank" rel="noopener noreferrer"&gt;Message from &lt;strong&gt;Gluon&lt;/strong&gt;&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;The July 20205 CPU releases for JavaFX are available! You can download SDKs with the latest fixes and security patches for JavaFX 24.0.2, 21.0.8, and 17.0.16 &lt;a href="https://gluonhq.com/products/javafx" target="_blank" rel="noopener noreferrer"&gt;from the Gluon website&lt;/a&gt;
. Also, artifacts are uploaded to Maven Central.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;Expected in JavaFX 25: Custom title bars on Stage Windows
&lt;ul&gt;
&lt;li&gt;See &lt;a href="https://gist.github.com/mstr2/0befc541ee7297b6db2865cc5e4dbd09" target="_blank" rel="noopener noreferrer"&gt;more info and screenshots here&lt;/a&gt;
, and the &lt;a href="https://github.com/openjdk/jfx/pull/1605" target="_blank" rel="noopener noreferrer"&gt;pull request here&lt;/a&gt;
. Thanks &lt;a href="https://www.linkedin.com/feed/update/urn:li:activity:7352755246223265792/" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Carl Dea&lt;/strong&gt; for sharing&lt;/a&gt;
!&lt;/li&gt;
&lt;li&gt;This new feature will &lt;a href="https://www.reddit.com/r/JavaFX/comments/1m3whc6/atlantafx_with_stagestyleextended/" target="_blank" rel="noopener noreferrer"&gt;also be available in AtlantaFX&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;To support this feature, AtlantaFX has introduced a new decorations module, which will be available in the next version along with 14 window buttons themes. Now, we&amp;rsquo;re no longer limited to native window decorations! Yay!&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://mastodon.social/@johanvos/114873558280486295" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Johan Vos&lt;/strong&gt; on Mastodon&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;JavaFX very much needs a top-level headless platform (for testing, server-side rendering, and more). The &lt;a href="https://github.com/openjdk/jfx/pull/1836" target="_blank" rel="noopener noreferrer"&gt;pull request is currently in review&lt;/a&gt;
.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-1-applications"&gt;Applications&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;LogoRRR got a nice &lt;a href="https://linux.softpedia.com/get/Utilities/LogoRRR-104891.shtml" target="_blank" rel="noopener noreferrer"&gt;4.5/5 review on Softpedia&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;LogoRRR is a very simple yet very efficient, free, and open-source log viewer application.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;LeaderBoard by &lt;strong&gt;Helal Anwar&lt;/strong&gt; : &amp;ldquo;&lt;em&gt;A Java-based application designed to manage and calculate student grades. It provides functionality to input student scores, calculate averages, and determine letter grades based on predefined thresholds. This project is ideal for educational institutions or instructors looking to automate grade calculations.&lt;/em&gt; &amp;quot; Sources and a video in the README-file are &lt;a href="https://github.com/Hilal-Anwar/LeaderBoard" target="_blank" rel="noopener noreferrer"&gt;available on GitHub&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Frederik Handberg&lt;/strong&gt; is &amp;ldquo;&lt;em&gt;&lt;a href="https://bsky.app/profile/frederikhandberg.com/post/3lt7fmm4iwk2a" target="_blank" rel="noopener noreferrer"&gt;working on a JavaFX application as a portfolio project&lt;/a&gt;
. It&amp;rsquo;s an instant messaging app that I am building using RMI.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;Found on GitHub: &lt;a href="https://github.com/arthurdeka/cedro-modern-dock" target="_blank" rel="noopener noreferrer"&gt;Cedro Modern Dock&lt;/a&gt;
, a free and open-source dock software for Windows. It&amp;rsquo;s created by &lt;a href="https://www.linkedin.com/in/arthur-wa-rodrigues/" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Arthur Wagner A. Rodrigues&lt;/strong&gt;&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;A sleek, open-source dock to enhance your desktop experience. Quick access to your favorite apps and system modules on Windows with customization.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.linkedin.com/posts/seanmiphillips_release-a-glitch-in-the-matrix-trinity-xai-activity-7353598025946042368-Vts2/" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Sean Phillips&lt;/strong&gt; announced v2025.07.22, a new major release for the Trinity XAI analysis software&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;Improved asynchronous startup, New COCO Annotation Visualizations with drag and drop, Near real time 3D Cluster projection injection into embedding space (AutoProjection), Interactive zoom and rotate on point selection, A bunch of cool Retrowave/Vaporwave inspired glitch special effects (a hidden easter egg!), and more. As always, &lt;a href="https://github.com/trinity-xai/Trinity/releases/tag/v2025.07.22" target="_blank" rel="noopener noreferrer"&gt;free and open source&lt;/a&gt;
.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://bsky.app/profile/bilaltariq01.bsky.social/post/3lufvpasekj2j" target="_blank" rel="noopener noreferrer"&gt;Shared on BlueSky by &lt;strong&gt;Bilal Tariq&lt;/strong&gt;&lt;/a&gt;
: &lt;strong&gt;Wessel Wessels&lt;/strong&gt; recreated a Vintage Casio Calculator. &amp;ldquo;&lt;em&gt;In this project, I rebuilt my original Casio Personal M-1 calculator in JavaFX &amp;mdash; not just the functionality, but the entire look and feel, down to the pixel. What started as a UI practice exercise turned into a full-blown retro replica.&lt;/em&gt; &amp;quot; &lt;a href="https://dev.to/asorepos/recreating-a-vintage-casio-calculator-with-java-javafx-5bed" target="_blank" rel="noopener noreferrer"&gt;Read more here&lt;/a&gt;
 and &lt;a href="https://github.com/aso-repos/CalculatorJavaFX" target="_blank" rel="noopener noreferrer"&gt;sources on GitHub&lt;/a&gt;
.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-2-games"&gt;Games&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Found on GitHub: &lt;a href="https://github.com/yahayuta/draponquest" target="_blank" rel="noopener noreferrer"&gt;DraponQuest JavaFX by &lt;strong&gt;yahayuta&lt;/strong&gt;&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;A modern JavaFX port of the classic DoJa mobile game DraponQuest. This project preserves the original game logic while adapting it to run on modern desktop platforms using JavaFX.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Marc Victor Beshay&lt;/strong&gt; , &lt;strong&gt;Marwan Ahmed&lt;/strong&gt; , and &lt;strong&gt;Ramez Younes&lt;/strong&gt; &lt;a href="https://www.linkedin.com/posts/marcbeshay_2nd-place-winning-project-jackaroo-in-activity-7346316960076304384-ZraA" target="_blank" rel="noopener noreferrer"&gt;won a price&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;We&amp;rsquo;re excited to announce that our JavaFX-based Jackaroo game ranked 2nd in GUC&amp;rsquo;s Best Game Competition, competing among 360 teams in 61- Engineering and Business Informatics classes as part of the OOP course, supervised by Dr. Slim Abdennadher.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-3-components-libraries-tools"&gt;Components, Libraries, Tools&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Cljfx, created by &lt;a href="https://github.com/vlaaad" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;vlaaad&lt;/strong&gt;&lt;/a&gt;
, has reached &lt;a href="https://github.com/cljfx/cljfx" target="_blank" rel="noopener noreferrer"&gt;1k stars on GitHub&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;It&amp;rsquo;s a declarative, functional and extensible wrapper of JavaFX for Clojure inspired by better parts of react and re-frame.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-4-podcasts-videos-books"&gt;Podcasts, Videos, Books&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Quarkus Insights: &lt;a href="https://www.youtube.com/live/voScZwDk56A" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;William Antônio Siqueira&lt;/strong&gt; presented LLM FX&lt;/a&gt;
, a desktop LLM client which provides Model Context Protocol (MCP) support and offers tools designed to facilitate work with local Large Language Models (LLMs). You can find &lt;a href="https://github.com/jesuino/LLMFX" target="_blank" rel="noopener noreferrer"&gt;the project on GitHub&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Frank Delporte&lt;/strong&gt; published the first version of a library to control DMX512 devices with Java, optionally loading fixture definitions in the Open Fixture Library (OFL) format. He uses a JavaFX application to &lt;a href="https://www.youtube.com/watch?v=ztrO3Crexmg" target="_blank" rel="noopener noreferrer"&gt;demonstrate it in this video&lt;/a&gt;
. More info in the blog post: &lt;a href="https://webtechie.be/post/2025-07-17-introducing-java-dmx512-library-with-demo-javafx-ui/" target="_blank" rel="noopener noreferrer"&gt;Introducing a New Java DMX512 Library With Demo JavaFX User Interface&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;Part 5 of the &amp;ldquo;JavaFX In Action&amp;rdquo; interview overviews by &lt;strong&gt;Frank Delporte&lt;/strong&gt; got &lt;a href="https://foojayio.github.io/website/today/video-series-javafx-in-action-part-5/"&gt;published on Foojay&lt;/a&gt;
, with:
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Cormac Redmond&lt;/strong&gt;: KafkIO, the Kafka UI for Engineers and Admins&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Brian Schlining&lt;/strong&gt;: Annotating the Deep-Sea Wildlife&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Gerrit Grunwald&lt;/strong&gt;: Creator of Many Amazing JavaFX Libraries&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Dirk Lemmermann&lt;/strong&gt;: Creator of JavaFX Libraries and Applications&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-5-conferences-presentations"&gt;Conferences, Presentations&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://bsky.app/profile/ianbrandt.com" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Ian Brandt&lt;/strong&gt;&lt;/a&gt;
 gave a presentation &amp;ldquo;Building JavaFX Apps with Kotlin&amp;rdquo; for the San Diego Kotlin User Group. Sorry, no recording, but you can read more here:
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://discuss.gradle.org/t/javafx-dependencies-via-a-componentmetadatarule-instead-of-the-javafx-gradle-plugin/44037" target="_blank" rel="noopener noreferrer"&gt;JavaFX dependencies via a ComponentMetadataRule instead of the JavaFX Gradle Plugin&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/ianbrandt/javafx-gradle-configuration" target="_blank" rel="noopener noreferrer"&gt;JavaFX Gradle Configuration on GitHub&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;A slightly different approach to that of the current 0.1.0 version of the JavaFX Gradle Plugin for handling JavaFX dependencies in a Gradle project.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;The JPro talk by &lt;strong&gt;Florian Kirmaier&lt;/strong&gt; from JavaOne is now &lt;a href="https://www.youtube.com/watch?v=cxaOM1rkonA" target="_blank" rel="noopener noreferrer"&gt;available on YouTube&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;This session explores building JavaFX applications for both desktop and web, offering practical solutions to modern development challenges. Learn best practices for styling with CSSFX and how JPro enables Java&amp;rsquo;s &amp;ldquo;Write Once, Run Anywhere&amp;rdquo; (WORA) principle by running JavaFX applications in the browser.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-6-tutorials"&gt;Tutorials&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;A new tutorial is available here on JFX Central thanks to &lt;a href="https://www.jfx-central.com/people/h.kubota" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Hidekazu Kubota&lt;/strong&gt;&lt;/a&gt;
: &lt;a href="https://www.jfx-central.com/learn-javafx/vscode" target="_blank" rel="noopener noreferrer"&gt;Guide for JavaFX Development on Visual Studio Code&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;This document serves as a development guide for beginners in Java and JavaFX using Visual Studio Code
(VSCode). There are still relatively few guides available for JavaFX development using VSCode because it previously lacked a well-established development environment for JavaFX. In 2025, extensions for JavaFX were added and organized, making it one of the most accessible IDEs for beginners to start with JavaFX.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;Published by &lt;strong&gt;Eleftheria Drosopoulou&lt;/strong&gt; : &lt;a href="https://www.javacodegeeks.com/2025/07/migrating-legacy-java-swing-applications-to-modern-javafx.html" target="_blank" rel="noopener noreferrer"&gt;Migrating Legacy Java Swing Applications to Modern JavaFX&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;Video tutorial by &lt;strong&gt;xemacscode&lt;/strong&gt; &lt;a href="https://www.youtube.com/watch?v=YBggVcv62OE" target="_blank" rel="noopener noreferrer"&gt;POS Project Setup in Netbeans IDE&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;The goal of this course is to provide you with a working knowledge of JavaFx GUI applications. We&amp;rsquo;ll start with the basics, starting from installing JavaFx on variety of IDE&amp;rsquo;s e.g. Eclipse, IntelliJ Idea, Netbeans etc on different Operating Systems like Window, Mac and Linux. Next, We will learn how to create our first JavaFx project. Then we will Learn How to built-in use different JavaFX UI controls like Label, Button,&amp;hellip;&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-7-miscellaneous"&gt;Miscellaneous&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://bsky.app/profile/hansolo.eu/post/3lu5cv2lkc225" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Gerrit Grunwald&lt;/strong&gt;&lt;/a&gt;
 is &amp;ldquo;&lt;em&gt;analyzing my JavaFX glucose monitoring app using
Azul&amp;rsquo;s Code Inventory to find unused classes and methods in the codebase&amp;hellip;&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-8-jfx-central"&gt;JFX Central&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;New version of the JFX Central app and website! The release notes with a long list of changes is &lt;a href="https://github.com/dlsc-software-consulting-gmbh/jfxcentral2/releases/tag/v1.15.0" target="_blank" rel="noopener noreferrer"&gt;available here&lt;/a&gt;
. Some of the highlights:
&lt;ul&gt;
&lt;li&gt;Upgrade to Java 24 and the latest JPro release.&lt;/li&gt;
&lt;li&gt;Added share with and links to Bluesky and Mastodon.&lt;/li&gt;
&lt;li&gt;Removed share with and links to Twitter/X.&lt;/li&gt;
&lt;li&gt;Improved icon search.&lt;/li&gt;
&lt;li&gt;Contributors: &lt;a href="https://github.com/FlorianKirmaier" target="_blank" rel="noopener noreferrer"&gt;Florian Kirmaier&lt;/a&gt;
, &lt;a href="https://github.com/dlemmermann" target="_blank" rel="noopener noreferrer"&gt;Dirk Lemmermann&lt;/a&gt;
, &lt;a href="https://github.com/leewyatt" target="_blank" rel="noopener noreferrer"&gt;Lee Wyatt&lt;/a&gt;
, &lt;a href="https://github.com/FDelporte" target="_blank" rel="noopener noreferrer"&gt;Frank Delporte&lt;/a&gt;
, &lt;a href="https://github.com/dependabot" target="_blank" rel="noopener noreferrer"&gt;Dependabot&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;New content on JFX Central:
&lt;ul&gt;
&lt;li&gt;People: &lt;a href="https://www.jfx-central.com/people/h.kubota" target="_blank" rel="noopener noreferrer"&gt;Hidekazu Kubota&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Learn JavaFX: &lt;a href="https://www.jfx-central.com/learn-javafx/vscode" target="_blank" rel="noopener noreferrer"&gt;Guide for JavaFX Development on Visual Studio Code&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Company: &lt;a href="https://www.jfx-central.com/companies/codewriter" target="_blank" rel="noopener noreferrer"&gt;CodeWriter&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Library: &lt;a href="https://www.jfx-central.com/libraries/tabpanepro" target="_blank" rel="noopener noreferrer"&gt;TabPanePro&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;Techsenger TabPanePro is a TabPane extension that adds dedicated control areas, support for custom tab shapes, tab drag-and-drop with edge scrolling, a tab scrollbar, and more.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;The overview of the Links Of The Week of June &lt;a href="https://foojayio.github.io/website/today/javafx-links-of-june-2025/"&gt;got published on &lt;strong&gt;Foojay&lt;/strong&gt;&lt;/a&gt;
.&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Introducing a New Java DMX512 Library With Demo JavaFX User Interface</title><link>https://foojayio.github.io/website/today/introducing-a-new-java-dmx512-library-with-demo-javafx-user-interface/</link><pubDate>Fri, 25 Jul 2025 06:17:00 +0000</pubDate><guid>https://foojayio.github.io/website/today/introducing-a-new-java-dmx512-library-with-demo-javafx-user-interface/</guid><description>&lt;p&gt;In this post, I would like to inform you about a new Java library that is now available on Maven Central, allowing interaction with DMX512 devices using (optionally) the Open Fixture Library (OFL). I also published a video with a code walkthrough of my test setup and demo code.&lt;/p&gt;
&lt;div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;"&gt;
			&lt;iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube.com/embed/ztrO3Crexmg?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video"&gt;&lt;/iframe&gt;
		&lt;/div&gt;

&lt;p&gt;But first&amp;hellip;&lt;/p&gt;</description></item><item><title>Video series “JavaFX In Action”, Part 5 with Cormac Redmond (KafkIO), Brian Schlining (Annotating the Deep-Sea Wildlife), Gerrit Grunwald (JavaFX Libraries), Dirk Lemmermann (JavaFX Libraries and Applications, JFX Central)</title><link>https://foojayio.github.io/website/today/video-series-javafx-in-action-part-5/</link><pubDate>Fri, 18 Jul 2025 06:18:00 +0000</pubDate><guid>https://foojayio.github.io/website/today/video-series-javafx-in-action-part-5/</guid><description>&lt;p&gt;This is the next part in the series of &amp;ldquo;JavaFX in Action&amp;rdquo; interviews. Are you working on a fantastic JavaFX application? Let me know, and let&amp;rsquo;s discuss it in the new year!&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://foojayio.github.io/website/today/new-video-series-javafx-in-action-part-1/"&gt;July &amp;lsquo;24: Pedro Duque Vieira, Daniel Zimmermann, Christopher Schnick, and Robert Ladstätter&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://foojayio.github.io/website/today/video-series-javafx-in-action-part-2/"&gt;November &amp;lsquo;24: Maciej Gorywoda, Ramiro Domínguez Ayub, Christoph Schwentker, Ulas Ergin&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://foojayio.github.io/website/today/video-series-javafx-in-action-part-3/"&gt;December &amp;lsquo;24: Özkan Pakdil, Clément de Tastes, Almas Baim, Steve Hannah, Jago de Vreede&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://foojayio.github.io/website/today/video-series-javafx-in-action-part-4/"&gt;March &amp;lsquo;25: Mike Hearn, Sven Reimers, Chris Newland&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-0-cormac-redmond-kafkio-the-kafka-ui-for-engineers-and-admins"&gt;Cormac Redmond: KafkIO, the Kafka UI for Engineers and Admins&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://www.linkedin.com/in/cormacredmond/" target="_blank" rel="noopener noreferrer"&gt;Cormac Redmond&lt;/a&gt;
 is an &amp;ldquo;All-things Java / Spring / MicroServices&amp;rdquo; expert who has been computing and programming from a young age. He has 20 years of professional experience spanning several industries, building everything from complex distributed systems to bespoke intranets and mobile apps. He enjoys fully and deeply understanding any domain or technology and is happiest when working within cultures that value the importance of building clean, elegant, testable, self-documenting systems while adopting forward-thinking practices and techniques.&lt;/p&gt;</description></item><item><title>JavaFX Links of June 2025</title><link>https://foojayio.github.io/website/today/javafx-links-of-june-2025/</link><pubDate>Sun, 29 Jun 2025 08:16:51 +0000</pubDate><guid>https://foojayio.github.io/website/today/javafx-links-of-june-2025/</guid><description>&lt;p&gt;Here is the overview of the JavaFX LinksOfTheMonth of June 2025. You can find the weekly lists on &lt;a href="https://www.jfx-central.com/links" target="_blank" rel="noopener noreferrer"&gt;jfx-central.com&lt;/a&gt;
. Did we miss anything? Is there anything you want to have included in one of the next overviews? Let us know via &lt;a href="https://foojayio.github.io/website/cdn-cgi/l/email-protection"&gt;[email protected]&lt;/a&gt;
.&lt;/p&gt;
&lt;h2 id="h2-0-core"&gt;Core&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://mastodon.social/@johanvos/114629445557232949" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Johan Vos&lt;/strong&gt; on Mastodon&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;Headless JavaFX platform passes almost all tests, with remaining failures being understood. Time to bring this to the next step.&lt;/em&gt; &amp;quot; See &lt;a href="https://mail.openjdk.org/pipermail/openjfx-dev/2025-June/054648.html" target="_blank" rel="noopener noreferrer"&gt;this message&lt;/a&gt;
 on the openjfx-dev mailing list.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Catherine Edelveis&lt;/strong&gt; &lt;a href="https://bsky.app/profile/cat-edelveis.bsky.social/post/3lr6vzolv3k2x" target="_blank" rel="noopener noreferrer"&gt;struggled with a delay when starting sounds on macOS versus Linux&lt;/a&gt;
 and &lt;a href="https://bsky.app/profile/cat-edelveis.bsky.social/post/3lrffxcymos2h" target="_blank" rel="noopener noreferrer"&gt;shared the solution&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;I found the culprit of sound latency with JavaFX on mac - the mp3 format! Converted to wav, and everything works as a charm now. Heads up to everyone: mp3 is evil even in such non-trivial cases.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;An &lt;a href="https://github.com/openjdk/jfx/pull/1824" target="_blank" rel="noopener noreferrer"&gt;interesting pull request by &lt;strong&gt;Ambarish Rapte&lt;/strong&gt;&lt;/a&gt;
 in the OpenJFX project: &amp;ldquo;_This is the implementation of new graphics rendering pipeline for JavaFX using Metal APIs on MacOS. We released two Early Access (EA) builds and have reached a stage where it is ready to be integrated. Default rendering pipeline on macOS has not been changed by this PR. OpenGL still stays as the default rendering pipeline and Metal rendering pipeline is optional to choose by providing &lt;code&gt;MARKDOWN_HASH6fb3dbf166122f8049d99bbd64d48707MARKDOWN&lt;/code&gt;&lt;em&gt;HASH&lt;/em&gt;.&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/openjdk/jfx/pull/1827" target="_blank" rel="noopener noreferrer"&gt;Pull request by &lt;strong&gt;Kevin Rushforth&lt;/strong&gt; &amp;ldquo;Bump minimum JDK version for JavaFX to JDK&amp;rdquo;&lt;/a&gt;
 mentioned on the &lt;a href="https://mail.openjdk.org/mailman/listinfo/openjfx-dev" target="_blank" rel="noopener noreferrer"&gt;openjfx-dev mailinglist&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;In order for JavaFX to be able to use more recent JDK features, we should increase the minimum version of the JDK that can run the latest JavaFX. Additionally, there is an ongoing cost to keeping JavaFX buildable and runnable on older versions of Java, and little reason to continue to do so. This continues our recent practice of setting the minimum JDK for JavaFX N to JDK N-2. JavaFX N is primarily intended for use with JDK N and we also build and test it against JDK N-1 (which is typically what we use as the boot JDK). Anything older than that, including the proposed minimum JDK N-2 (23 in this specific case), is untested. This PR targeted to JavaFX 25, and must not be backported to any earlier version.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-1-applications"&gt;Applications&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.linkedin.com/posts/seanmiphillips_trinity-xai-auto-projecting-deep-fake-images-activity-7336811007543058433-Hmvl/" target="_blank" rel="noopener noreferrer"&gt;Long message by &lt;strong&gt;Sean Phillips&lt;/strong&gt; on LinkedIn&lt;/a&gt;
 with a &lt;a href="https://www.youtube.com/watch?v=7M3R9C3tiho" target="_blank" rel="noopener noreferrer"&gt;link to a video demonstrating near real-time 3D clustering of Deep Fake images in JavaFX&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;&amp;hellip; The video link above is an example of the Trinity XAI software demonstrating establishing a 3D clustering of Deep Fake imagery of human faces and automatically injecting new samples into the projection space (Auto-Projection). In this example the 3D clusters are established using a UMAP projection. The projection is frozen when auto projection is enabled so that new samples reuse the existing transform function achieved from the fit UMAP model. &amp;hellip; Trinity XAI has &lt;a href="https://github.com/trinity-xai/Trinity" target="_blank" rel="noopener noreferrer"&gt;cross platform binary builds here&lt;/a&gt;
, as always, free and open source.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;A &lt;a href="https://www.linkedin.com/posts/brunorozendo_family-has-grown-again-now-a-present-to-activity-7338551210796277761-jQk0" target="_blank" rel="noopener noreferrer"&gt;project by &lt;strong&gt;Bruno Rozendo&lt;/strong&gt; shared on LinkedIn&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;A present to you: my own GUI to chat with Ollama,
using JavaFX. It provides custom mcp.json config file, chats are saved in sql lite, and works with local Ollama.&lt;/em&gt; &amp;quot; You can find the &lt;a href="https://github.com/brunorozendo/mcp-client-gui" target="_blank" rel="noopener noreferrer"&gt;sources on GitHub&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;Also &lt;a href="https://www.linkedin.com/posts/omarelfiki_im-excited-to-share-my-second-completed-activity-7338308176871632896-aeGY" target="_blank" rel="noopener noreferrer"&gt;found on LinkedIn&lt;/a&gt;
 by &lt;strong&gt;Omar Elfiki&lt;/strong&gt; : &amp;ldquo;&lt;em&gt;I&amp;rsquo;m excited to share my second completed project at Maastricht University! A JavaFX-powered system to plan your journey across any public transportation network. Navigator transforms raw GTFS transit data into an intelligent routing engine with a graphical interface. Designed for public transit systems, it enables real-time route discovery using buses, trains, trams, and walking transfers.&lt;/em&gt; &amp;quot; &lt;a href="https://github.com/omarelfiki/navigator" target="_blank" rel="noopener noreferrer"&gt;Check it out here&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=Ir1tmdWEgD4" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Robert Ladstätter&lt;/strong&gt; shared a video&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;LogoRRR is now available on flathub! This makes it very easy to install and use it - download now!&lt;/em&gt; &amp;quot;
&lt;ul&gt;
&lt;li&gt;And &lt;a href="https://bsky.app/profile/rladstaetter.bsky.social/post/3ls72togyk22c" target="_blank" rel="noopener noreferrer"&gt;he shared on Bluesky&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;I&amp;rsquo;m trying (again) to get LogoRRR to run with GraalVM&lt;/em&gt; &amp;quot; and managed to make progress thanks to to this article by &lt;strong&gt;Catherine Edelveis&lt;/strong&gt; : &lt;a href="https://bell-sw.com/blog/how-to-create-javafx-native-images/" target="_blank" rel="noopener noreferrer"&gt;How to Create JavaFX Native Images&lt;/a&gt;
.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.linkedin.com/posts/crschnick_javafx-activity-7339359872884338689-yP1W/" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Christopher Schnick&lt;/strong&gt; shared a video&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;A new animated JavaFX loading screen and an integration for the new Apple containers. Will be available in XPipe 17.&lt;/em&gt; &amp;quot;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.linkedin.com/pulse/showcase-some-new-features-recently-shipped-xpipe-16-schnick-7hxcf/" target="_blank" rel="noopener noreferrer"&gt;And he also shared multiple videos&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;Showcase of some of new features recently shipped in XPipe 16.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/cryptomator/cryptomator/releases/tag/1.17.0" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Cryptomator&lt;/strong&gt; released version 1.17.0, based on Java and JavaFX 24&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;With Cryptomator, the key to your data is in your hands. Cryptomator secures and encrypts your sensitive data in your favorite cloud service. So you can rest assured that only you can access your data.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.linkedin.com/posts/jabref_jabref-aarch64-arm64-activity-7340430313371688960-Hmqg/" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;JabRef&lt;/strong&gt; has great news&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;JabRef now offers Linux-aarch64/arm64 binaries as well in the latest development version. This means you can run JabRef now also on your Raspberry Pi or on other Arm64 Linux notebooks. Snaps and flatpak will follow soon.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-2-games"&gt;Games&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.linkedin.com/pulse/jeditermfx-doom-running-legendary-game-javafx-techsenger-xqiic/" target="_blank" rel="noopener noreferrer"&gt;JediTermFX and DOOM &amp;ndash; Running the Legendary Game in JavaFX&lt;/a&gt;
 by &lt;strong&gt;Pavel Castornii&lt;/strong&gt; : &amp;ldquo;&lt;em&gt;About a year ago, we introduced our terminal emulator for JavaFX &amp;ndash; JediTermFX. One of its key features is that it uses a Canvas for rendering, which allows it to work with almost any terminal-based program. Recently, we decided to test how the emulator handles something a bit unusual &amp;ndash; the iconic game DOOM.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;Relesed on Steam on May 30th by &lt;strong&gt;Gavin Lee Moutoux&lt;/strong&gt; : &lt;a href="https://store.steampowered.com/app/3739280/Nocturne_FX/" target="_blank" rel="noopener noreferrer"&gt;Nocturne FX&lt;/a&gt;
. &amp;ldquo;&lt;em&gt;A high-intensity arcade game built entirely in JavaFX. Dodge pipes, harness unpredictable power-ups, and survive a world that unravels the longer you last&amp;mdash;including secrets no one prepared you for.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://bsky.app/profile/did:plc:5bvlreuyymd7itwoucylq63e/post/3lrbnqeqkn22g" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Gerrit Grunwald&lt;/strong&gt; on Bluesky&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;I did not check for quite some time but SpaceFX runs superfast on my M4 MBP with #JDK24 #JavaFX #Java.&lt;/em&gt; &amp;quot; You can find it &lt;a href="https://github.com/hanSolo/spacefx" target="_blank" rel="noopener noreferrer"&gt;on GitHub&lt;/a&gt;
.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-3-components-libraries-tools"&gt;Components, Libraries, Tools&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://bsky.app/profile/jpro.one/post/3lqp4eaixlk2i" target="_blank" rel="noopener noreferrer"&gt;Message from &lt;strong&gt;JPro&lt;/strong&gt;&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;In JPro release 2025.2.1, we&amp;rsquo;ve updated how native keyboard shortcuts are handled, along with a number of small fixes &amp;amp; improvements. We&amp;rsquo;re hard at work behind the scenes, so keep an eye &lt;a href="https://www.jpro.one/docs/jpro-webapi/changelog/1/1/2025.2.x" target="_blank" rel="noopener noreferrer"&gt;on our changelog&lt;/a&gt;
 in the coming months.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://bsky.app/profile/iamkonstantin.eu/post/3lrs2hurgw423" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Konstantin Gerry&lt;/strong&gt; announced Gadulka 1.7.0&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;Gadulka is a minimalistic audio player library for Kotlin Multiplatform. Gadulka wraps the native player functionality from each target in &amp;ldquo;headless&amp;rdquo; mode. That is, the library does not provide any UI (this will be up to you). This version is mostly about updating dependencies like Kotlin 2.1.21, JavaFX and the minimum JDK is now 21. Gadulka links against but doesn&amp;rsquo;t bundle JavaFX.&lt;/em&gt; &amp;quot; You can find the &lt;a href="https://github.com/kkostov/gadulka/releases/tag/1.7.0" target="_blank" rel="noopener noreferrer"&gt;release and sources on GitHub&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://apidia.net/mvn/com.github.almasb/fxgl-framework/21.1/" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;APIdia&lt;/strong&gt; published the JavaDoc of FXGL&lt;/a&gt;
 &amp;ldquo;&lt;em&gt;BUT, FXGL is partly written in Kotlin, which is currently not supported yet. The docs only comprise data from Java sources.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://bsky.app/profile/mattcoley.bsky.social/post/3ls33isgrsc2v" target="_blank" rel="noopener noreferrer"&gt;Update with screenshots by &lt;strong&gt;Matt Coley&lt;/strong&gt; on the progress of his new library BentoFX&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;Alright, I rewrote my JavaFX docking framework, BentoFX, from scratch (again) after incorporating it into multiple projects and learning what the pain points were with the existing architecture.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-4-podcasts-videos-books"&gt;Podcasts, Videos, Books&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;A &lt;a href="https://www.youtube.com/shorts/vwXOAa_KVKw" target="_blank" rel="noopener noreferrer"&gt;YouTube short by &lt;strong&gt;Kensoft PH&lt;/strong&gt;&lt;/a&gt;
 showing that ChatGPT can create a working minimal JavaFX application. Check his YouTube profile for more JavaFX videos.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.linkedin.com/in/helal-anwar-94571016b/" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Helal Anwar&lt;/strong&gt;&lt;/a&gt;
 pointed us at this video by Apple: &lt;a href="https://www.youtube.com/watch?v=QSHO-GUGidA" target="_blank" rel="noopener noreferrer"&gt;WWDC25: Explore Swift and Java interoperability&lt;/a&gt;
. It doesn&amp;rsquo;t mention JavaFX, but it would be nice to see if this can be extended to allow the same kind of integration with JavaFX. The sources of the project can be found &lt;a href="https://github.com/swiftlang/swift-java" target="_blank" rel="noopener noreferrer"&gt;on GitHub&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;Recording of the live stream &lt;a href="https://www.youtube.com/watch?v=yP-8wXjB_Es" target="_blank" rel="noopener noreferrer"&gt;Quarkus Insights #210: Extension Spotlight on JavaFX&lt;/a&gt;
 is available on YouTube. &lt;strong&gt;Holly Cummins&lt;/strong&gt; and &lt;strong&gt;Max Rydahl Andersen&lt;/strong&gt; talked with &lt;strong&gt;Clément de Tastes&lt;/strong&gt; about the JavaFX Quarkus extension to bring a modern, efficient, and fully featured toolkit for developing rich client applications.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-5-conferences"&gt;Conferences&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.devoxx.co.uk/talk/?id=17259" target="_blank" rel="noopener noreferrer"&gt;Recording of the talk &amp;ldquo;Building a native multiplatform SDKMAN in JavaFX&amp;rdquo;&lt;/a&gt;
 by &lt;strong&gt;Jago de Vreede&lt;/strong&gt; at Devoxx UK has been published.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-6-tutorials"&gt;Tutorials&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Short &lt;a href="https://www.youtube.com/watch?v=NU2ntGrV-Yc" target="_blank" rel="noopener noreferrer"&gt;video tutorial by &lt;strong&gt;TechHiveHQ&lt;/strong&gt;&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;How to Enable Dark Mode in JavaFX App&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Hidekazu Kubota&lt;/strong&gt; shared a &amp;ldquo;&lt;em&gt;&lt;a href="https://www.docswell.com/s/sosuisen/56VX4X-2025-06-16-234846" target="_blank" rel="noopener noreferrer"&gt;guide for beginners in Java and JavaFX to help them get started with development using VSCode&lt;/a&gt;
. All 100 of my students have successfully learned JavaFX using this guide without any problems.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;Video tutorial by &lt;strong&gt;TheCodeGenerator&lt;/strong&gt; : &lt;a href="https://www.youtube.com/watch?v=sXfOEJ4FY84" target="_blank" rel="noopener noreferrer"&gt;Build a Weather App That Looks INSANE in 2025 (JavaFX + REST API)&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;In this full tutorial, we&amp;rsquo;ll build a real-time weather app using JavaFX, WeatherAPI.com, and modern development tools &amp;mdash; from the user interface to the API layer, all wrapped in clean architecture. Whether you&amp;rsquo;re learning JavaFX or just want a project that actually looks good in 2025, this is for you.&lt;/em&gt; &amp;quot; Sources &lt;a href="https://github.com/TheCodeGen/weatherlyFX" target="_blank" rel="noopener noreferrer"&gt;on GitHub&lt;/a&gt;
.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-7-miscellaneous"&gt;Miscellaneous&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;More AI by &lt;strong&gt;Richard Baldwin&lt;/strong&gt; : &lt;a href="https://cloving.ai/tutorials/enhancing-javafx-applications-with-gpt-supported-code" target="_blank" rel="noopener noreferrer"&gt;Enhancing JavaFX Applications with GPT-Supported Code&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;APIdia&lt;/strong&gt; added API docs for the following JavaFX components, created by &lt;strong&gt;Dirk Lemmermann&lt;/strong&gt; : &amp;ldquo;&lt;em&gt;These controls are frequent and crucial building blocks of advanced JavaFX applications.&lt;/em&gt; &amp;quot;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://apidia.net/mvn/com.dlsc.afterburner/afterburner.fx/" target="_blank" rel="noopener noreferrer"&gt;afterburner.fx&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://apidia.net/mvn/com.calendarfx/view" target="_blank" rel="noopener noreferrer"&gt;CalendarFX&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://apidia.net/mvn/com.dlsc.formsfx/formsfx-core/" target="_blank" rel="noopener noreferrer"&gt;FormsFX&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://apidia.net/mvn/com.dlsc.gemsfx/gemsfx/" target="_blank" rel="noopener noreferrer"&gt;GemsFX&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://apidia.net/mvn/com.dlsc/GMapsFX/" target="_blank" rel="noopener noreferrer"&gt;GMapsFX&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://apidia.net/mvn/com.dlsc.keyboardfx/keyboardfx/" target="_blank" rel="noopener noreferrer"&gt;KeyboardFX&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://apidia.net/mvn/com.dlsc.pdfviewfx/pdfviewfx/" target="_blank" rel="noopener noreferrer"&gt;PDFViewFX&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://apidia.net/mvn/com.dlsc.phonenumberfx/phonenumberfx/" target="_blank" rel="noopener noreferrer"&gt;PhonenumberFX&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://apidia.net/mvn/com.dlsc.pickerfx/pickerfx/" target="_blank" rel="noopener noreferrer"&gt;PickerFX&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://apidia.net/mvn/com.dlsc.preferencesfx/preferencesfx-core/" target="_blank" rel="noopener noreferrer"&gt;PreferencesFX&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://apidia.net/mvn/com.dlsc.retrofitfx/retrofitfx/" target="_blank" rel="noopener noreferrer"&gt;RetrofitFX&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://apidia.net/mvn/com.dlsc.showcasefx/showcasefx/" target="_blank" rel="noopener noreferrer"&gt;ShowcaseFX&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://apidia.net/mvn/com.dlsc.unitfx/unitfx/" target="_blank" rel="noopener noreferrer"&gt;UnitFX&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://apidia.net/mvn/com.dlsc.workbenchfx/workbenchfx-core/" target="_blank" rel="noopener noreferrer"&gt;WorkbenchFX&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.linkedin.com/posts/crschnick_javafx-activity-7338178050095742976-TUCi" target="_blank" rel="noopener noreferrer"&gt;Video by &lt;strong&gt;Christopher Schnick&lt;/strong&gt; on LinkedIn&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;Demo of the new macOS 26 liquid glass material with hashtag#JavaFX. This will be available in XPipe 17.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-8-jfx-central"&gt;JFX Central&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;New content:
&lt;ul&gt;
&lt;li&gt;Library: &lt;a href="https://www.jfx-central.com/libraries/jeditermfx" target="_blank" rel="noopener noreferrer"&gt;JediTermFX&lt;/a&gt;
, a terminal emulator for JavaFX by &lt;strong&gt;Pavel Castornii&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;People: &lt;a href="https://www.jfx-central.com/people/c.edelveis" target="_blank" rel="noopener noreferrer"&gt;Catherine Edelveis&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Company: &lt;a href="https://www.jfx-central.com/companies/bellsoft" target="_blank" rel="noopener noreferrer"&gt;BellSoft&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Video: &lt;a href="https://www.jfx-central.com/videos/PKvuXsfWe_M" target="_blank" rel="noopener noreferrer"&gt;Use SceneBuilder to Create User Interfaces with JavaFX&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;The overview of the Links Of The Week of May &lt;a href="https://foojayio.github.io/website/today/javafx-links-of-may-2025/"&gt;got published on &lt;strong&gt;Foojay&lt;/strong&gt;&lt;/a&gt;
.&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>JavaFX Links of May 2025</title><link>https://foojayio.github.io/website/today/javafx-links-of-may-2025/</link><pubDate>Sun, 01 Jun 2025 05:51:41 +0000</pubDate><guid>https://foojayio.github.io/website/today/javafx-links-of-may-2025/</guid><description>&lt;p&gt;Here is the overview of the JavaFX LinksOfTheMonth of April 2025. You can find the weekly lists on &lt;a href="https://www.jfx-central.com/links" target="_blank" rel="noopener noreferrer"&gt;jfx-central.com&lt;/a&gt;
. Did we miss anything? Is there anything you want to have included in one of the next overviews? Let us know via &lt;a href="https://foojayio.github.io/website/cdn-cgi/l/email-protection"&gt;[email protected]&lt;/a&gt;
.&lt;/p&gt;
&lt;h2 id="h2-0-core"&gt;Core&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;From the &lt;a href="https://foojayio.github.io/website/cdn-cgi/l/email-protection"&gt;[email protected]&lt;/a&gt;
 mailing list: &amp;ldquo;&lt;em&gt;The first Early Access (EA) build of JavaFX with the Windows Direct3D 12 rendering pipeline is &lt;a href="https://jdk.java.net/javafxdirect3d12/" target="_blank" rel="noopener noreferrer"&gt;now available&lt;/a&gt;
. &amp;hellip; At this stage D3D12 backend is feature-complete, however optimization and performance have not been the focus yet. There?s still a number of improvements and adjustments that must be made in order to match/surpass D3D backend. Notable areas known to us which need improvements are the 3D pipeline and cases where color blending is used - they will work but they will be (much) slower than D3D. Please keep that in mind when testing. &amp;hellip; We look forward to your feedback.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-1-applications"&gt;Applications&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.linkedin.com/posts/william-ant%C3%B4nio-siqueira-968bba14_ai-llm-java-activity-7323401118770741249-DOfQ/" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;William Antônio Siqueira&lt;/strong&gt; extended LLM FX and shared a screenshot&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;It now supports Image Content! You can now interact with LLM not using only text, but also images. See this example using Gemma3:4b running locally.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://mastodon.social/@credmond/114452411842991361" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Cormac Redmond&lt;/strong&gt; announced version 1.2.1&lt;/a&gt;
 of &lt;a href="http://kafkio.com" target="_blank" rel="noopener noreferrer"&gt;KafkIO&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;Better IPV6 support, better OAUTHBEARER support, improved error information, improved Hex viewer, and now with a Hex serde &amp;ndash; easily produce binary messages!&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Javier Llorente&lt;/strong&gt; announced &lt;a href="https://github.com/javierllorente/obsfx" target="_blank" rel="noopener noreferrer"&gt;V1.0.0 of OBS FX&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;OBS FX is a basic JavaFX-based Open Build Service client. It uses the the jOBS library to consume the OBS REST API.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://bsky.app/profile/did:plc:sjb6gynmpo4rrf7akqedrkvo/post/3loynfomte22n" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Sean Phillips&lt;/strong&gt; shared&lt;/a&gt;
 a link to the &lt;a href="https://github.com/trinity-xai/CocoAnnotationViewer" target="_blank" rel="noopener noreferrer"&gt;sources of CocoAnnotationViewer&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;Standalone JavaFX viewer for COCO annotations. Supports Bounding Boxes and Segmentation Polygons. Includes drag and drop support for annotation JSON files with Jackson based Serialization support.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Andrea Vacondio&lt;/strong&gt; posted on Foojay &amp;ldquo;&lt;a href="https://foojayio.github.io/website/today/building-autopo-an-ai-powered-open-source-application-to-manage-po-files/"&gt;Building Autopo: An AI-powered Open Source Application to Manage .po Files&lt;/a&gt;
&amp;rdquo;: &amp;ldquo;&lt;em&gt;In this article , I&amp;rsquo;ll walk you through the journey that led me to create Autopo, a free and open source JavaFX desktop tool for managing .po files and with AI-powered features to translate and validate .po entries.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.linkedin.com/posts/carldea_health-informatics-hl7-activity-7329679218680754178-vH76/" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Carl Dea&lt;/strong&gt; shared a video of Integrated Knowledge Management (IKM)&lt;/a&gt;
, an open source knowledge base platform as a cross platform installed application for MacOS, Windows, Linux, and Browser users: &amp;ldquo;&lt;em&gt;We&amp;rsquo;ve been busy developing our semantic authoring features. Testing our numerous ways to reference components (Concepts, Patterns, Semantics). When using concept oriented data the user will be able to drag and drop items from various UI controls. Also component fields provide a search suggestion popup.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://foojay.social/@jabref/114519812378290849" target="_blank" rel="noopener noreferrer"&gt;JabRef can now be used from the command-line, thanks to JBang&lt;/a&gt;
: &amp;ldquo;_Ever wondered whether your bibliography is conistent? Ever wanted to create a focused BibTeX file based on your LaTeX aux file? These features were available in JabRef&amp;rsquo;s GUI. Now, they are available on command line with &lt;code&gt;MARKDOWN_HASH32c9f1c036adda0c8daa9ecbaa856766MARKDOWN&lt;/code&gt;&lt;em&gt;HASH&lt;/em&gt;. Powered by JavaFX&amp;rsquo;s observable lists 😅.&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://bsky.app/profile/trixon.se/post/3lptyfmefxs2g" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Patrik Karlström&lt;/strong&gt; is having a release day&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;I have just published rebuilds with dependency updates such as JavaFX and NetBeans 26 of the following apps: CRIC (Custom runtime image creator), Mapollage
(Kml creator), nbRsync (rsync gui), Yaya (Dice game). [Source, binaries, appimages, and snaps are available}(&lt;a href="https://github.com/trixon?tab=repositories" target="_blank" rel="noopener noreferrer"&gt;https://github.com/trixon?tab=repositories&lt;/a&gt;
).&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-2-components-libraries-tools"&gt;Components, Libraries, Tools&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;New jDeploy blogpost by &lt;strong&gt;Steve Hannah&lt;/strong&gt; , &lt;a href="https://jdeploy.substack.com/p/starting-a-new-javafx-project" target="_blank" rel="noopener noreferrer"&gt;Starting a new JavaFX project&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;With jDeploy&amp;rsquo;s new desktop app comes some shiny new project templates to help get you started on the right foot. All project templates come pre-wired for manual deployment (e.g. you press &amp;ldquo;Publish&amp;rdquo; and it uploads directly to GitHub releases or npm), and automated deployment via GitHub workflows (e.g. when you create a new release, it adds your app bundles to the release).&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://bsky.app/profile/mattcoley.bsky.social/post/3lnouqnq4ds2x" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Matt Coley&lt;/strong&gt; shared a video of work-in-progress for BentoFX, a Docking Framework for JavaFX&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;Its very much a WIP, but if anyone has a use for such a thing and has feature requirements/ideas I&amp;rsquo;d love to hear them.&lt;/em&gt; &amp;quot; The &lt;a href="https://github.com/Col-E/BentoFX" target="_blank" rel="noopener noreferrer"&gt;repo is on GitHub&lt;/a&gt;
.
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Matt Coley&lt;/strong&gt; keeps working on BentoFX (Docking Framework for JavaFX) and releasing new versions. &lt;a href="https://github.com/Col-E/BentoFX/releases" target="_blank" rel="noopener noreferrer"&gt;Release 0.6.0&lt;/a&gt;
 is now available.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Screencast by JDeploy: &lt;a href="https://jdeploy.substack.com/p/screencast-using-new-javafx-project" target="_blank" rel="noopener noreferrer"&gt;Using new JavaFX Project Template&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;From Zero to a published JavaFX Desktop app in under 2 minutes.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-3-podcasts-videos-books"&gt;Podcasts, Videos, Books&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;In Foojay Podcast #71, &lt;strong&gt;James Gosling&lt;/strong&gt; , the father of Java, has this message to share: &amp;ldquo;&lt;em&gt;&lt;a href="https://youtu.be/6iP376VwcjY?si=xeH6fqA-3BzCO2ea&amp;amp;t=1454" target="_blank" rel="noopener noreferrer"&gt;JavaFX is one of my favorite things of all time. That crew has done such a great work, even after Oracle basically disowned them&lt;/a&gt;
.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Matt Coley&lt;/strong&gt; published &amp;ldquo;&lt;a href="https://www.youtube.com/watch?v=zf7g-EPNqdU" target="_blank" rel="noopener noreferrer"&gt;Drawing OpenGL to JavaFX&lt;/a&gt;
&amp;rdquo;: &amp;ldquo;&lt;em&gt;Ever try and put OpenGL stuff into a JavaFX scene? I have and was kinda disappointed by the built-in offerings, so I made a simple double-buffered canvas. I also recently saw a comment about Shaders in JavaFX and also demonstrated that at the end too 🎨.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;Student management app by &lt;strong&gt;Flossing Q&lt;/strong&gt; : &lt;a href="https://www.youtube.com/watch?v=PoPmg20e-5Y" target="_blank" rel="noopener noreferrer"&gt;part 1&lt;/a&gt;
, &lt;a href="https://www.youtube.com/watch?v=OcngkenAP20" target="_blank" rel="noopener noreferrer"&gt;part 2&lt;/a&gt;
, and &lt;a href="https://www.youtube.com/watch?v=WqgInkEsCXQ" target="_blank" rel="noopener noreferrer"&gt;part 3&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;The 20th JavaFX In Action interview by &lt;strong&gt;Frank Delporte&lt;/strong&gt; is now available. In &lt;a href="https://webtechie.be/post/2025-05-29-jfxinaction-dirk-lemmermann-javafx-libraries-and-applications/" target="_blank" rel="noopener noreferrer"&gt;this video, he talked with &lt;strong&gt;Dirk Lemmermann&lt;/strong&gt;&lt;/a&gt;
 about the many libraries and applications he has created. Of course, they also looked at JFX Central, one of his many creations.&lt;/li&gt;
&lt;li&gt;Recording of a &lt;a href="https://www.youtube.com/watch?v=MEFXO6ldxbY" target="_blank" rel="noopener noreferrer"&gt;2 hour live stream by &lt;strong&gt;Akash Chauhan&lt;/strong&gt;&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;Join this live session to master JavaFX from scratch! We&amp;rsquo;ll build a complete JavaFX application, explore UI design techniques, and dive into best practices for real-world projects. Whether you&amp;rsquo;re a beginner or brushing up your skills, bring your questions for the live Q&amp;amp;A at the end. Don&amp;rsquo;t miss out&amp;mdash;let&amp;rsquo;s build together!&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-4-conferences"&gt;Conferences&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=FxHbXY34iFQ" target="_blank" rel="noopener noreferrer"&gt;Video recording of &amp;ldquo;JavaFX 24 and Beyond&amp;rdquo; by &lt;strong&gt;Kevin Rushforth&lt;/strong&gt; at JavaOne&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;JavaFX is a powerful graphical UI toolkit for building desktop and mobile applications. In this session, you will learn about the new and exciting features we have developed over the past couple of years, culminating with the release of JavaFX 24. You will learn about new features such as RichTextArea (incubator), CSS Transitions, Platform Preferences, and more. We&amp;rsquo;ll show plenty of demos and sample code. Stay tuned for a sneak peak at what&amp;rsquo;s coming next.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Dirk Lemmermann&lt;/strong&gt; presented at Devoxx UK 2025: &lt;a href="https://www.youtube.com/watch?v=kgBj8_J_rWA" target="_blank" rel="noopener noreferrer"&gt;Leveraging JavaFX for the UK Energy Market&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;This presentation showcases how Senapt harnessed JavaFX to develop powerful desktop and web clients for the UK energy market. We explore the benefits of JavaFX for building modern enterprise applications and discuss the challenges encountered during development. Additionally, we highlight the role of Senapt as a big contributor to the JavaFX community.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-5-tutorials"&gt;Tutorials&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://bell-sw.com/blog/creating-modern-desktop-apps-with-javafx-and-spring-boot/" target="_blank" rel="noopener noreferrer"&gt;Creating Modern Desktop Apps with JavaFX and Spring Boot&lt;/a&gt;
 by &lt;strong&gt;Catherine Edelveis&lt;/strong&gt; : &amp;ldquo;&lt;em&gt;In this article, we will explore why JavaFX and Spring Boot combo is a perfect match for modern desktop development. Or, if you are eager to start coding, you can jump right to the practice section where I show how to integrate these two technologies!&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;From &lt;strong&gt;Codez Up&lt;/strong&gt; : &lt;a href="https://codezup.com/building-scalable-desktop-applications-with-javafx-guide/" target="_blank" rel="noopener noreferrer"&gt;Building Scalable Desktop Applications with JavaFX: A Step-by-Step Guide&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.linkedin.com/pulse/how-i-built-javafx-tic-tac-toe-game-from-scratch-simple-sahil-ali-pbnsf/" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Sahil A.&lt;/strong&gt; shared on LinkedIn&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;How I Built a JavaFX Tic Tac Toe Game from Scratch &amp;ndash; A Simple Yet Powerful Learning Experience.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-6-miscellaneous"&gt;Miscellaneous&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.theserverside.com/tip/The-state-and-future-of-Java-desktop-application-development" target="_blank" rel="noopener noreferrer"&gt;The state and future of Java desktop application development&lt;/a&gt;
 by &lt;strong&gt;Lofi Dewanto&lt;/strong&gt; : &amp;ldquo;&lt;em&gt;In today&amp;rsquo;s world of web application development and SaaS, what does the future hold for Java desktop applications? It&amp;rsquo;s brighter than you might think.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://foojay.social/@michiel/114448405866930490" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Michiel&lt;/strong&gt; published&lt;/a&gt;
 his first two opensource simple JavaFX projects on GitHub:
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.dotjava.nl/2025/05/03/example-javafx-mobile-app-with-and-without-gluon/" target="_blank" rel="noopener noreferrer"&gt;The NOP (no operation) Android app&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;It is a skeleton to use for new mobile applications and all those apps should have a proper exit function, so this Nop app does nothing but exit nicely.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/michiel-jfx/iceconverter" target="_blank" rel="noopener noreferrer"&gt;Simple Icelandic Euro to Krónas converter&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;This mobile phone application uses 100% Java and JavaFX with FXML to create a simple krónas to euro conversion app and vice versa.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-7-jfx-central"&gt;JFX Central&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;New content on JFX Central:
&lt;ul&gt;
&lt;li&gt;Library: &lt;a href="https://www.jfx-central.com/libraries/language-manager" target="_blank" rel="noopener noreferrer"&gt;Language Manager&lt;/a&gt;
, update your FX application locale at runtime without reloading the scene.&lt;/li&gt;
&lt;li&gt;Library: &lt;a href="https://www.jfx-central.com/libraries/tabshell" target="_blank" rel="noopener noreferrer"&gt;TabShell&lt;/a&gt;
 for building tab-based applications providing customizable, ready-to-use components.&lt;/li&gt;
&lt;li&gt;Library: &lt;a href="https://www.jfx-central.com/libraries/stagepro" target="_blank" rel="noopener noreferrer"&gt;StagePro&lt;/a&gt;
 for creating custom JavaFX stages with flexible configuration and full control over appearance and layout.&lt;/li&gt;
&lt;li&gt;Video: &lt;a href="https://www.jfx-central.com/videos/hY7RUN2hHJA" target="_blank" rel="noopener noreferrer"&gt;JavaFX In Action with Dirk Lemmermann: Creator of JavaFX Libraries and Apps&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;The overview of the Links Of The Week of April was &lt;a href="https://foojayio.github.io/website/today/javafx-links-of-april-2025/"&gt;published on Foojay&lt;/a&gt;
.&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Autopo: An open source tool to automate .po file translation with AI.</title><link>https://foojayio.github.io/website/today/building-autopo-an-ai-powered-open-source-application-to-manage-po-files/</link><pubDate>Mon, 12 May 2025 07:12:39 +0000</pubDate><guid>https://foojayio.github.io/website/today/building-autopo-an-ai-powered-open-source-application-to-manage-po-files/</guid><description>&lt;p&gt;As a developer today, you&amp;rsquo;ve almost certainly encountered the need of localizing your application or website. While setting up your project for internationalization is usually straightforward, managing translations over time can become a complex, time consuming and costly task, especially for open source projects.&lt;/p&gt;
&lt;p&gt;Fortunately, machine translation have come a long way. It&amp;rsquo;s not perfect, but with the right context, modern AI can deliver surprisingly accurate results.&lt;/p&gt;
&lt;p&gt;In this article , I&amp;rsquo;ll walk you through the journey that led me to create &lt;a href="https://autopo.ooo" title="Autopo" target="_blank" rel="noopener noreferrer"&gt;Autopo&lt;/a&gt;
, a free and &lt;a href="https://github.com/soberlemur/autopo/" target="_blank" rel="noopener noreferrer"&gt;open source&lt;/a&gt;
 JavaFX desktop tool for managing &lt;code&gt;.po&lt;/code&gt; files and with AI-powered features to translate and validate &lt;code&gt;.po&lt;/code&gt; entries.&lt;/p&gt;</description></item><item><title>JavaFX Links of April 2025</title><link>https://foojayio.github.io/website/today/javafx-links-of-april-2025/</link><pubDate>Wed, 30 Apr 2025 10:06:10 +0000</pubDate><guid>https://foojayio.github.io/website/today/javafx-links-of-april-2025/</guid><description>&lt;p&gt;Here is the overview of the JavaFX LinksOfTheMonth of April 2025. You can find the weekly lists on &lt;a href="https://www.jfx-central.com/links" target="_blank" rel="noopener noreferrer"&gt;jfx-central.com&lt;/a&gt;
. Did we miss anything? Is there anything you want to have included in one of the next overviews? Let us know via &lt;a href="https://foojayio.github.io/website/cdn-cgi/l/email-protection"&gt;[email protected]&lt;/a&gt;
.&lt;/p&gt;
&lt;h2 id="h2-0-core"&gt;Core&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://cr.openjdk.org/~kcr/presentations/javaone-2025/JavaFX-24-Final.pdf" target="_blank" rel="noopener noreferrer"&gt;Slides from the presentation &amp;ldquo;JavaFX 24 and Beyond&amp;rdquo;&lt;/a&gt;
 by &lt;strong&gt;Kevin Rushforth&lt;/strong&gt; at JavaOne, March 18th, 2025.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://apidia.net/mvn/org.openjfx/javafx/24/" target="_blank" rel="noopener noreferrer"&gt;ApiDoc of JavaFX 24&lt;/a&gt;
 is available on &lt;a href="https://bsky.app/profile/apidia.net" target="_blank" rel="noopener noreferrer"&gt;APIdia&lt;/a&gt;
, a growing collection of high-quality APIdocs, interlinked, without tracking.
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://bsky.app/profile/stewori.bsky.social/post/3lloo6w6ixc25" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Stefan Richthofer&lt;/strong&gt; shares a screenshot&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;APIdia JavaFX 24 docs do now include the incubating modules, but you have to adjust visibility settings to see them.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://mastodon.social/@johanvos/114239659224933655" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Johan Vos&lt;/strong&gt; on Mastodon&lt;/a&gt;
: &amp;ldquo;_I&amp;rsquo;m still working on consolidation of JDK build with OpenJFX sources. Here is a &lt;a href="https://johanvos.wordpress.com/2025/03/27/building-a-jdk-including-openjfx-part-2/" target="_blank" rel="noopener noreferrer"&gt;post describing my progress and a suggestion&lt;/a&gt;
. TLDR: I added a &lt;code&gt;MARKDOWN_HASH04d3b60467c08e78fba0bc4a87592b9fMARKDOWN&lt;/code&gt;&lt;em&gt;HASH&lt;/em&gt; configure option for the JDK. Key goal is not to make JDK build system harder to maintain. I&amp;rsquo;ll be honest about this. It&amp;rsquo;s hard work, requires diving into very different low-level things, and in the end, JavaFX developers won&amp;rsquo;t see anything from this work. But I believe I have to do this, as it is vital to JavaFX.&amp;rdquo;
&lt;ul&gt;
&lt;li&gt;And &lt;a href="https://mastodon.social/@johanvos/114269821014592304" target="_blank" rel="noopener noreferrer"&gt;continues&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;I&amp;rsquo;ve spent way too much time trying to find an elegant approach in generating the JavaFX shader files with the existing gradle build, and copy the results into the OpenJDK fork that can build OpenJFX. Unless someone else wants/can do this, I will move that part to the OpenJDK logic as well. Should be easier. &amp;hellip; I have to say that I&amp;rsquo;m slightly surprised that no other companies are helping me &lt;a href="https://johanvos.wordpress.com/2025/03/27/building-a-jdk-including-openjfx-part-2/" target="_blank" rel="noopener noreferrer"&gt;with this effort&lt;/a&gt;
. I know at least 2 companies that distribute a JDK including OpenJFX mods. You would think they&amp;rsquo;d love this, but it&amp;rsquo;s very silent.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;The release notes for JavaFX 24.0.1 are &lt;a href="https://github.com/openjdk/jfx24u/pull/19/files" target="_blank" rel="noopener noreferrer"&gt;being prepared in this pull request&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://bsky.app/profile/chadpreisler.bsky.social" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Chad Preisler&lt;/strong&gt; shared some tips to distribute JavaFX apps&lt;/a&gt;
:
&lt;ul&gt;
&lt;li&gt;&amp;ldquo;_One excellent way to distribute JavaFX applications is to use jlink to build custom images. You can build for Linux, Windows, and Mac all on one machine without having all the host operating systems. The package is small, and you don&amp;rsquo;t need to install the JDK on each client._3&lt;/li&gt;
&lt;li&gt;&amp;ldquo;&lt;em&gt;My JavaFX application bundle, built for MacOS X with jlink is just 41MB. I built the and bundled the app on Linux and ran it on OS X. No need to install Java on every client with a jlink image. I used JDK 24 to build the application.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;A tip by &lt;strong&gt;Wolfgang Weigend&lt;/strong&gt; related to &lt;a href="https://openjdk.org/jeps/493" target="_blank" rel="noopener noreferrer"&gt;JEP 493&lt;/a&gt;
: &amp;ldquo;_Add JavaFX 24 to your jdk-24.jdk image with cmd &lt;code&gt;jlink --add-modules javafx.base,javafx.controls,... --output image&lt;/code&gt; and verify file release and the directory &lt;code&gt;MARKDOWN_HASH456c8dcb2e4cb13faea8318519ab5263MARKDOWN&lt;/code&gt;&lt;em&gt;HASH&lt;/em&gt;.&amp;rdquo; (See &lt;a href="https://bsky.app/profile/wolfgangweigend.bsky.social/post/3llya7y6bfs23" target="_blank" rel="noopener noreferrer"&gt;the original message for the full command&lt;/a&gt;
).&lt;/li&gt;
&lt;li&gt;Message from &lt;strong&gt;Gluon&lt;/strong&gt; : &amp;ldquo;&lt;em&gt;Another CPU release for JavaFX! Today, we released JavaFX 24.0.1, JavaFX 17.0.15 and JavaFX 21.0.7. &lt;a href="https://gluonhq.com/products/javafx/" target="_blank" rel="noopener noreferrer"&gt;Get it from gluonhq.com&lt;/a&gt;
. Thanks to the fantastic JavaFX community for the combined work.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-1-scenebuilder"&gt;SceneBuilder&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://gluonhq.com/scene-builder-24-0-0-ga-is-here/" target="_blank" rel="noopener noreferrer"&gt;SceneBuilder 24.0.0&lt;/a&gt;
 is available. Highlights:
&lt;ul&gt;
&lt;li&gt;Scene Builder Kit is now published to Maven Central, making it easier for developers to integrate it into their software.&lt;/li&gt;
&lt;li&gt;The Gluon controls, that are part of Scene Builder, were tightly coupled with Scene Builder Kit. Now those has been abstracted away into a pluggable component called Gluon Plugin.&lt;/li&gt;
&lt;li&gt;Scene Builder has been updated for full compatibility with the Java Platform Module System (JPMS).&lt;/li&gt;
&lt;li&gt;Logging to console is now enabled by default to make it easier to debug issues in Scene Builder.&lt;/li&gt;
&lt;li&gt;Multiple fixes went into Accordion, DialogPane, TextField etc. to make Scene Builder more robust.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-2-applications"&gt;Applications&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://bsky.app/profile/trixon.se/post/3lmcattkucc2w" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Patrik Karlström&lt;/strong&gt; released a new version of nbRsync&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;A GUI for rsync, written in Java and JavaFX atop the netbeans platform. Available as &lt;a href="https://github.com/trixon/nbRsync/releases/tag/v25.04" target="_blank" rel="noopener noreferrer"&gt;appimage, snap, platform zips with and without a bundled JDK 24&lt;/a&gt;
.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://bsky.app/profile/serendigityinfo.bsky.social/post/3lma43kntls27" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Serendipity&lt;/strong&gt; released version 2 of SmartFinder&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;Now with advanced filter building to create powerful, custom queries on file attributes and metadata. Stay tuned &amp;amp; level up your file search!&lt;/em&gt; &amp;quot; A &lt;a href="https://www.youtube.com/watch?v=Vsm3W5zeP2A" target="_blank" rel="noopener noreferrer"&gt;video demo is available on YouTube&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.linkedin.com/posts/jabref_jabref-dante-2025-activity-7315844222283116544-WNhx/" target="_blank" rel="noopener noreferrer"&gt;JabRef received many GSOC proposals&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;The team is now busy reviewing them. Meanwhile, our maintainer Dr. Oliver Kopp did a talk at the DANTE2025 (a TeXLaTeX conference) presenting the development process of JabRef and how users can test, provide feedback and participate in the community.&lt;br&gt;
The &lt;a href="https://www.dante.de/wp-content/uploads/2025/04/Oliver_Kopp-JabRef.pdf" target="_blank" rel="noopener noreferrer"&gt;slides (German only) from the talk are available online&lt;/a&gt;
.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;An impressive combination of JavaFX and AI by &lt;strong&gt;William Antônio Siqueira&lt;/strong&gt; : &lt;a href="https://github.com/jesuino/LLMFX" target="_blank" rel="noopener noreferrer"&gt;LLM FX, an LLM Desktop Client free for everyone&lt;/a&gt;
!
&lt;ul&gt;
&lt;li&gt;And he got some help: &amp;ldquo;&lt;em&gt;A single contribution by &lt;strong&gt;Max Rydahl Andersen&lt;/strong&gt; made LLM FX look much better and professional. Thank you so much, Max! &lt;a href="https://www.linkedin.com/posts/william-ant%C3%B4nio-siqueira-968bba14_ai-tools-llm-ugcPost-7321383037257039875-blf4/" target="_blank" rel="noopener noreferrer"&gt;In the video you can see it generating another report&lt;/a&gt;
. Notice that the report is not well formatted because of my layout (it is a grid based layout, there&amp;rsquo;s a lot of room for improvements&amp;hellip;&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://bsky.app/profile/seanmiphillips.bsky.social/post/3lneezgggrs27" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Sean Phillips&lt;/strong&gt; shared&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;I made a major revamp update to &lt;a href="https://github.com/trinity-xai/Trinity/blob/main/README.md" target="_blank" rel="noopener noreferrer"&gt;Trinity XAI&amp;rsquo;s Readme&lt;/a&gt;
. Added tons of content featuring the past year&amp;rsquo;s development of new tools with descriptions and images.&lt;/em&gt; &amp;quot;
&lt;ul&gt;
&lt;li&gt;And a &lt;a href="https://www.youtube.com/watch?v=3erhqAsC1Og" target="_blank" rel="noopener noreferrer"&gt;new video&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;Demonstrating Trinity XAI&amp;rsquo;s &amp;lsquo;Hyperdrive&amp;rsquo; importer to vectorize AI generated human faces using a locally hosted version of the CLIP multimodal embeddings model. Hyperdrive supports both images and text using a built in OpenAI API compatible REST client.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Announced they are running on the latest JavaFX:
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://bsky.app/profile/logorrr.bsky.social/post/3lmzqfzkjis2t" target="_blank" rel="noopener noreferrer"&gt;LogoRRR&lt;/a&gt;
. &amp;ldquo;&lt;em&gt;Did you know, LogoRRR runs with the latest JavaFX version on windows, mac and linux! 🤗&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://bsky.app/profile/jpro.one/post/3lmzd4c6hmc2q" target="_blank" rel="noopener noreferrer"&gt;JPro&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;With JPro release 2025.2.0, we&amp;rsquo;ve added support for JavaFX 24 as well as improvements to Canvas shape clipping, instance startup timeout logging, and more.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://bsky.app/profile/serendigityinfo.bsky.social/post/3ln6fezarnc2w" target="_blank" rel="noopener noreferrer"&gt;SmartFinder&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;SmartFinder runs on Java 24! Better performance and improved stability. Always one step ahead! SmartFiner is an alternative to MacOS Finder and Windows Search.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-3-components-libraries-tools"&gt;Components, Libraries, Tools&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://open-vsx.org/?search=sosuisha&amp;amp;sortBy=relevance&amp;amp;sortOrder=desc" target="_blank" rel="noopener noreferrer"&gt;Here you can find a list of all the Visual Studio Code extensions&lt;/a&gt;
 created by &lt;a href="https://github.com/sosuisen/" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Hidekazu Kubota&lt;/strong&gt;&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;I have registered all the VSCode extensions I created for JavaFX in the Open VSX repository. Now, it&amp;rsquo;s possible to develop with JavaFX in VSCode-compatible editors like TheiaIDE.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;JDeploy, a tool that helps you to create installers/updaters, announced: &amp;ldquo;&lt;a href="https://jdeploy.substack.com/p/a-new-chapter-for-jdeploy-the-desktop" target="_blank" rel="noopener noreferrer"&gt;A New Chapter for jDeploy: The Desktop App is Here&lt;/a&gt;
&amp;rdquo; with:
&lt;ul&gt;
&lt;li&gt;From CLI to a First-Class Desktop Experience&lt;/li&gt;
&lt;li&gt;No Dependencies, No Confusion&lt;/li&gt;
&lt;li&gt;Deploy Direct to GitHub&lt;/li&gt;
&lt;li&gt;First-Class Project Templates for Swing and JavaFX&lt;/li&gt;
&lt;li&gt;And more&amp;hellip;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;A new library by &lt;strong&gt;Alan Decunto&lt;/strong&gt; : &amp;ldquo;&lt;em&gt;&lt;a href="https://github.com/Snoopy137/language-manager" target="_blank" rel="noopener noreferrer"&gt;Language Manager&lt;/a&gt;
 is a JavaFX library that enables dynamic language switching at runtime, allowing you to update the application language without needing to refresh the scene.&lt;/em&gt; &amp;ldquo;:
&lt;ul&gt;
&lt;li&gt;🌍 Support for multiple languages using standard .properties files.&lt;/li&gt;
&lt;li&gt;🔄 Change language on the fly without reloading scenes.&lt;/li&gt;
&lt;li&gt;🔗 Automatic binding for Label, Button, TextField, and other controls using @FXML ids.&lt;/li&gt;
&lt;li&gt;⚙️ Custom annotations to ignore specific fields from auto-binding.&lt;/li&gt;
&lt;li&gt;📦 Lightweight and easy to integrate.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/techsenger/tabshell" target="_blank" rel="noopener noreferrer"&gt;TabShell is a lightweight platform for building tab-based applications&lt;/a&gt;
 in JavaFX using the MVVM pattern.
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.reddit.com/r/JavaFX/comments/1k2rzze/custom_file_chooser/" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Striking_Creme864&lt;/strong&gt; shared a video on Reddit&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;For our project we needed users to be able to use a file chooser for file storages that may exist in the application, but not in the OS, such as Google Drive, FTP, etc. As a solution, such a custom file chooser was created, which recognizes 4 types of storage (floppy, CD, network and base). The file path is represented as a URI. Both modes (list/details) use VirtualFlow. File sorting is done by the table from details, even for the list mode (the table is not on the Scene). Storage implementations will be wrappers for OpenDAL, Commons FVS, etc.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-4-podcasts-videos-books"&gt;Podcasts, Videos, Books&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Live stream step-by-step in Korean - with CC 😉 - by &lt;strong&gt;알클 ALOHA CLASS&lt;/strong&gt; in which he creates an application with SceneBuilder and FXML: &lt;a href="https://www.youtube.com/watch?v=S01AemsDXew" target="_blank" rel="noopener noreferrer"&gt;JavaFX - Controller&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Frank Delporte&lt;/strong&gt; &lt;a href="https://webtechie.be/post/2025-04-10-jfxinaction-gerrit-grunwald-amazing-javafx-libraries/" target="_blank" rel="noopener noreferrer"&gt;interviewed &lt;strong&gt;Gerrit Grunwald (aka hansolo)&lt;/strong&gt; for the JavaFX In Action series&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;Gerrit created many JavaFX libraries and blog posts. I wanted to talk with him about his work with JavaFX, but I also learned more about SVGs and how the garbage collectors in the JVM are working, thanks to the amazing visualizations he creates with &amp;hellip; JavaFX of course.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;Some feedback on this interview:
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://bsky.app/profile/mattcoley.bsky.social/post/3lmh3rnswp22n" target="_blank" rel="noopener noreferrer"&gt;By &lt;strong&gt;Matt Coley&lt;/strong&gt;&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;JavaFX has a perception problem. People will say &amp;lsquo;Why not Compose?&amp;rsquo; before &amp;lsquo;Why not FX?&amp;rsquo; even though Compose doesn&amp;rsquo;t have a functional context-menu component for desktop yet. Compose just has a much better PR department even though for desktop its a much lesser offering. FX needs a PR boost. To elaborate on the Compose remark, you can have a WindowScope MenuBar, but it&amp;rsquo;s only a wrapper that creates an un-styled Swing MenuBar. Additionally, generic compose context menus only allow text+onAction properties. For anything more the official docs tell you to use Swing&amp;rsquo;s JPopupMenu. The point being, an unfinished product for desktop application is given much more public praise over JavaFX due to the perceived &amp;lsquo;FX is dead&amp;rsquo; problem. That&amp;rsquo;s the sorry state of things at the moment. I love FX and this makes my soul hurt.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://bsky.app/profile/cat-edelveis.bsky.social/post/3lmjapuqrdk2d" target="_blank" rel="noopener noreferrer"&gt;By &lt;strong&gt;Catherine Edelveis&lt;/strong&gt;&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;Gerrit proves that Java is by no means a stranger in the world of UIs. I mean, all the cool libraries he&amp;rsquo;s built make me even more enthusiastic about my aspirations with #JavaFX. And I can see that I&amp;rsquo;ve only touched a tip of the iceberg by now 😁.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;YouTube comment by &lt;strong&gt;Michel Antony Barros Barrios&lt;/strong&gt; : &amp;ldquo;&lt;em&gt;Amazing, I remember have used several components of Gerrit&amp;rsquo;s libraries to show data analytics about billing behavior in a project I work some years ago. His libraries are wonderful.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=IxCfpxxS88w" target="_blank" rel="noopener noreferrer"&gt;Live stream with &lt;strong&gt;Dashaun Carter&lt;/strong&gt; and &lt;strong&gt;Catherine Edelveis&lt;/strong&gt;&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;Who said that desktop apps are dead? We prove them wrong! 🥊 We explore the world of rich and smart GUI apps that combine the powers of JavaFX and SpringBoot.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-5-tutorials"&gt;Tutorials&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;By &lt;strong&gt;Codez Up&lt;/strong&gt; : &lt;a href="https://codezup.com/javafx-creating-modern-desktop-applications/" target="_blank" rel="noopener noreferrer"&gt;JavaFX: Build Modern Desktop Applications Easily&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;By &lt;strong&gt;Sounetra Ghosal&lt;/strong&gt; : &lt;a href="https://codingzap.com/javafx-for-gui-development/" target="_blank" rel="noopener noreferrer"&gt;How To Use JavaFX For GUI Development?&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Frank Delporte&lt;/strong&gt; always forgets &amp;ldquo;&lt;em&gt;how to create a JavaFX ComboBox and configure it to show a specific field of an object in the opened and closed state of the ComboBox&lt;/em&gt; &amp;quot; and &lt;a href="https://webtechie.be/post/2025-04-09-javafx-combobox-with-objects/" target="_blank" rel="noopener noreferrer"&gt;wrote a tutorial&lt;/a&gt;
 &amp;ldquo;&lt;em&gt;hoping I remember that I blogged about it, the next time I need this functionality&lt;/em&gt;&amp;rdquo;.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://foojayio.github.io/website/today/a-guide-to-creating-javafx-native-images/"&gt;Blog by &lt;strong&gt;Catherine Edelveis&lt;/strong&gt; on Foojay&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;A Guide to Creating JavaFX Native Images&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-6-miscellaneous"&gt;Miscellaneous&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Very short but &lt;a href="https://x.com/PIE_SPACE_12/status/1907782342326079866" target="_blank" rel="noopener noreferrer"&gt;impressive video by &lt;strong&gt;PIE SPACE&lt;/strong&gt;&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;Check out my custom GUI made using Processing and JavaFX&amp;mdash;specially designed to visualize real-time data from the Agni Flight Computer V2. You can find the full flight computer design along with the source code &lt;a href="https://github.com/PIEspace" target="_blank" rel="noopener noreferrer"&gt;on my GitHub page&lt;/a&gt;
.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://bsky.app/profile/cat-edelveis.bsky.social/post/3lmc6dschus2f" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Catherine Edelveis&lt;/strong&gt; asks your advise&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;Friends, does anyone know what is the best way of adding image urls to JavaFX CSS file?&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-7-jfx-central"&gt;JFX Central&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;New content:
&lt;ul&gt;
&lt;li&gt;Video: &lt;a href="https://www.jfx-central.com/videos/6pgHlHLrX8c" target="_blank" rel="noopener noreferrer"&gt;JavaFX In Action with Gerrit Grunwald: Creator of Many Amazing JavaFX Libraries&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;The overview of the JavaFX Links Of The Week published in March on JFX Central, got &lt;a href="https://foojayio.github.io/website/today/javafx-links-of-march-2025/"&gt;published on Foojay.io&lt;/a&gt;
.&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>JavaFX Links of March 2025</title><link>https://foojayio.github.io/website/today/javafx-links-of-march-2025/</link><pubDate>Fri, 28 Mar 2025 11:12:21 +0000</pubDate><guid>https://foojayio.github.io/website/today/javafx-links-of-march-2025/</guid><description>&lt;p&gt;Here is the overview of the JavaFX LinksOfTheMonth of March 2025. You can find the weekly lists on &lt;a href="https://www.jfx-central.com/links" target="_blank" rel="noopener noreferrer"&gt;jfx-central.com&lt;/a&gt;
. Did we miss anything? Is there anything you want to have included in one of the next overviews? Let us know via &lt;a href="https://foojayio.github.io/website/cdn-cgi/l/email-protection"&gt;[email protected]&lt;/a&gt;
.&lt;/p&gt;
&lt;h2 id="h2-0-core"&gt;Core&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;March 18th, OpenJDK and OpenJFX 24 were released! Check the &lt;a href="https://github.com/openjdk/jfx/blob/jfx24/doc-files/release-notes-24.md" target="_blank" rel="noopener noreferrer"&gt;release notes of FX 24 here&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;These release notes cover the standalone JavaFX 24 release. JavaFX 24 requires JDK 22 or later. JDK 24 is recommended.&lt;/em&gt; &amp;quot; Downloads are available on the &lt;a href="https://gluonhq.com/products/javafx/" target="_blank" rel="noopener noreferrer"&gt;Gluon website&lt;/a&gt;
, or you can install bundles which include JavFX with &lt;a href="https://sdkman.io/" target="_blank" rel="noopener noreferrer"&gt;SDKMAN!&lt;/a&gt;
:&lt;/p&gt;</description></item><item><title>Video series “JavaFX In Action”, Part 4 with Mike Hearn (Conveyor), Sven Reimers (JTaccuino), and Chris Newland (DemoFX, JitWatch)</title><link>https://foojayio.github.io/website/today/video-series-javafx-in-action-part-4/</link><pubDate>Wed, 26 Mar 2025 06:51:35 +0000</pubDate><guid>https://foojayio.github.io/website/today/video-series-javafx-in-action-part-4/</guid><description>&lt;p&gt;This is the next part in the series of &amp;ldquo;JavaFX in Action&amp;rdquo; interviews. Are you working on a fantastic JavaFX application? Let me know, and let&amp;rsquo;s talk!&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://foojayio.github.io/website/today/new-video-series-javafx-in-action-part-1/"&gt;July &amp;lsquo;24: Pedro Duque Vieira, Daniel Zimmermann, Christopher Schnick, and Robert Ladstätter&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://foojayio.github.io/website/today/video-series-javafx-in-action-part-2/"&gt;November &amp;lsquo;24: Maciej Gorywoda, Ramiro Domínguez Ayub, Christoph Schwentker, Ulas Ergin&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://foojayio.github.io/website/today/video-series-javafx-in-action-part-3/"&gt;December &amp;lsquo;24: Özkan Pakdil, Clément de Tastes, Almas Baim, Steve Hannah, Jago de Vreede&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-0-mike-hearn-conveyor-build-self-updating-desktop-app-packages"&gt;Mike Hearn: Conveyor, build self-updating desktop app packages&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://www.linkedin.com/in/mike-hearn-2523962/" target="_blank" rel="noopener noreferrer"&gt;Mike Hearn&lt;/a&gt;
 solves a problem many developers are struggling with: efficiently distributing your application and ensuring the users get the latest version. With Conveyor, he created a tool that can do that easily with JavaFX, Electron, and Flutter apps!&lt;/p&gt;</description></item><item><title>Interview with Abdoulaye Wade Cissé: Using a JavaFX application as a virtual chemistry and biology lab</title><link>https://foojayio.github.io/website/today/interview-with-abdoulaye-wade-cisse-using-a-javafx-application-as-a-virtual-chemistry-and-biology-lab/</link><pubDate>Thu, 20 Mar 2025 13:46:59 +0000</pubDate><guid>https://foojayio.github.io/website/today/interview-with-abdoulaye-wade-cisse-using-a-javafx-application-as-a-virtual-chemistry-and-biology-lab/</guid><description>&lt;p&gt;I continuously collect JavaFX-related content for the &lt;a href="https://www.jfx-central.com/links" target="_blank" rel="noopener noreferrer"&gt;JFX Central Links Of The Week&lt;/a&gt;
. Recently, I saw a &lt;a href="https://www.linkedin.com/posts/abdoulaye-wade-ciss%C3%A9-7892a621b_javafx-aezducation-laboratoirevirtuel-activity-7293250354949869568-yMOF" target="_blank" rel="noopener noreferrer"&gt;video on LinkedIn, shared by Abdoulaye Wade Cissé, of a JavaFX &amp;ldquo;virtual lab&amp;rdquo;&lt;/a&gt;
 and wanted to learn more about this project&amp;hellip; Turns out he is a 22-year-old student in Senegal, creating a fantastic project to provide a virtual laboratory as software where the resources are not available for a physical lab. With his project, he proved that Java and JavaFX are the ideal way to generate entirely free software with a lot of functionality.&lt;br&gt;
&lt;img src="https://foojayio.github.io/website/today/interview-with-abdoulaye-wade-cisse-using-a-javafx-application-as-a-virtual-chemistry-and-biology-lab/abdoulaye-896x1024.jpg" alt="" loading="lazy"&gt;
&lt;br&gt;
&lt;em&gt;&lt;strong&gt;What is your experience with Java development?&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;</description></item><item><title>JavaFX Links of February 2025</title><link>https://foojayio.github.io/website/today/javafx-links-of-february-2025/</link><pubDate>Sat, 01 Mar 2025 10:15:12 +0000</pubDate><guid>https://foojayio.github.io/website/today/javafx-links-of-february-2025/</guid><description>&lt;p&gt;Here is the overview of the JavaFX LinksOfTheMonth of February 2025. You can find the weekly lists on &lt;a href="https://www.jfx-central.com/links" target="_blank" rel="noopener noreferrer"&gt;jfx-central.com&lt;/a&gt;
. Did we miss anything? Is there anything you want to have included in one of the next overviews? Let us know via &lt;a href="https://foojayio.github.io/website/cdn-cgi/l/email-protection"&gt;[email protected]&lt;/a&gt;
.&lt;/p&gt;
&lt;h2 id="h2-0-core"&gt;Core&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Early access builds of JavaFX that implement the new macOS Metal graphics rendering pipeline are now available. &lt;a href="https://inside.java/2025/02/11/quality-heads-up/" target="_blank" rel="noopener noreferrer"&gt;More info and link on Inside Java&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;These EA builds are provided as a convenience, so users don&amp;rsquo;t have to build from the &amp;lsquo;metal&amp;rsquo; branch of the openjdk/jfx-sandbox repository. The goal of these early access builds is to gather feedback as the team works on incorporating this feature into JavaFX. Feedback can be reported to the openjfx-dev mailing list.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;Two blog posts by &lt;strong&gt;Johan Vos&lt;/strong&gt; :
&lt;ul&gt;
&lt;li&gt;&amp;ldquo;&lt;a href="https://johanvos.wordpress.com/2025/02/25/java-everywhere/" target="_blank" rel="noopener noreferrer"&gt;Java Everywhere&lt;/a&gt;
&amp;rdquo; about how he sees the future of Java(FX) Mobile and building a competitor for Android and iOS with YouStore: &amp;ldquo;&lt;em&gt;In this post, I&amp;rsquo;ll discuss my thoughts about a developer-driven approach to a store model, and since I am aware this is not a trivial thing to achieve, I lay out my second-best option, which is how to better support and maintain Java on mobile devices.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&amp;ldquo;&lt;a href="https://johanvos.wordpress.com/2025/02/27/building-openjfx-using-jdk/" target="_blank" rel="noopener noreferrer"&gt;Building OpenJFX using JDK&lt;/a&gt;
&amp;rdquo; about building different versions of OpenJDK for different platforms: &amp;ldquo;&lt;em&gt;OpenJFX and OpenJDK/Mobile use a different build system. In an effort to simplify build complexity, and focus more on code, I am experimenting with using a single build system for OpenJFX and OpenJDK/Mobile. It turns out that the build system used by the JDK project does a great job for this.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-1-applications"&gt;Applications&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;22-year-old student &lt;strong&gt;Abdoulaye Wade Cissé&lt;/strong&gt; created a JavaFX application to provide a virtual chemistry and biology lab for students in Senegal, in schools where there is no budget for a real lab. &lt;a href="https://webtechie.be/post/2025-02-11-interview-abdoulaye-lab-app-in-javafx/" target="_blank" rel="noopener noreferrer"&gt;Read more about it in this interview&lt;/a&gt;
 by &lt;strong&gt;Frank Delporte&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://techhub.social/@thejvmbender/114059508172968863" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Özkan Pakdil 🦖&lt;/strong&gt; did some &amp;ldquo;shop-coding&amp;rdquo;&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;I was in an Apple shop, took 30 minutes to install SDKMAN, GraalVM, Maven, and GNUtools to build &lt;a href="https://github.com/ozkanpakdil/swaggerific" target="_blank" rel="noopener noreferrer"&gt;Swaggerific&lt;/a&gt;
 and see it working. M3 16GB 16GB MacBook Air took 1 minute to compile the code 😄 latest graal 23.0.1 and it takes 4-5 minutes in my HP laptop, this apple tech is fast, I am intrigued.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Gerrit Gruwald&lt;/strong&gt; used his time on a plane very well: &amp;ldquo;&lt;em&gt;&lt;a href="https://bsky.app/profile/hansolo.eu/post/3liyqdboyac2n" target="_blank" rel="noopener noreferrer"&gt;Here is a screenshot of my little JavaFX version of ConfiCheck&lt;/a&gt;
 that I created on the flight to the US. As mentioned before it&amp;rsquo;s still missing some things but already not too bad 😁&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-2-games"&gt;Games&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://x.com/AlmasBaim/status/1886489259189920182" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Almas Baim&lt;/strong&gt; shared&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;Another fantastic example from the community by &lt;strong&gt;SergBukreev&lt;/strong&gt; : &lt;a href="https://github.com/AlmasB/FXGL/discussions/1402" target="_blank" rel="noopener noreferrer"&gt;a racing game demo in JavaFX FXGL&lt;/a&gt;
.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://bsky.app/profile/hallvard.bsky.social/post/3lii7hgvemk2p" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Hallvard Trætteberg&lt;/strong&gt; is having fun implementing a JavaFX version of the Sokoban game&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;A goal is to play by moving using the Gluon attach position service on Android.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-3-components-libraries-tools"&gt;Components, Libraries, Tools&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://x.com/sosuisen_net/status/1891948039587213643" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;sosuisen&lt;/strong&gt; released two JavaFX extensions for VS Code&lt;/a&gt;
:
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/sosuisen/javafx-controller-support" target="_blank" rel="noopener noreferrer"&gt;JavaFX Controller Support&lt;/a&gt;
: &amp;ldquo;_Provides support for FXML controllers in JavaFX projects. Detection and correction of &lt;code&gt;fx:id&lt;/code&gt; errors. Displays diagnostics for invalid &lt;code&gt;fx:controller&lt;/code&gt;. Offers a Code Lens option to add an &lt;code&gt;MARKDOWN_HASH30db597822c6e06c6737052260426f45MARKDOWN&lt;/code&gt;&lt;em&gt;HASH&lt;/em&gt; method if it is missing from the controller class.&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/sosuisen/javafx-builder-class-generator" target="_blank" rel="noopener noreferrer"&gt;JavaFX Builder Class Generator&lt;/a&gt;
: &amp;ldquo;_Provides a code generator for creating builder classes in JavaFX projects. You can generate builder classes for various types included in the &lt;code&gt;javafx.scene.*&lt;/code&gt; packages, such as &lt;code&gt;Button&lt;/code&gt; and &lt;code&gt;MARKDOWN_HASH5a53a8f009db36698b8e68ea1813563aMARKDOWN&lt;/code&gt;&lt;em&gt;HASH&lt;/em&gt;, allowing you to create complex instances more compactly.&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-4-podcasts-videos-books"&gt;Podcasts, Videos, Books&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;New &amp;ldquo;JavaFX In Action&amp;rdquo; interviews by &lt;strong&gt;Frank Delporte&lt;/strong&gt; :
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=gkHgsamCoGc" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Sven Reimers&lt;/strong&gt; about JTaccuino&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;A JavaFX-based notebook application to make it easier to learn Java and experiment with notebooks that can visualize the variables in different ways, like tables and graphs.&lt;/em&gt; &amp;quot; &lt;a href="https://webtechie.be/post/2025-02-06-jfxinaction-sven-reimers-jtaccuino/" target="_blank" rel="noopener noreferrer"&gt;More info here&lt;/a&gt;
. And a &lt;a href="https://bsky.app/profile/johanvos.bsky.social/post/3lhiloggumk2g" target="_blank" rel="noopener noreferrer"&gt;reply by &lt;strong&gt;Johan Vos&lt;/strong&gt;&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;This project is key to Java. We need a notebook to bring Java towards students, scientists,&amp;hellip; and help them doing research/POC&amp;rsquo;s in the same language that can later be used in production systems where performance/stability/scaling/security is key.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&amp;ldquo;&lt;em&gt;&lt;strong&gt;Chris Newland&lt;/strong&gt; has a long history in Java and JavaFX development. He talks about two of his JavaFX projects: DemoFX and JITWatch. &lt;a href="https://www.youtube.com/watch?v=8s14hFLp7cI" target="_blank" rel="noopener noreferrer"&gt;While the demos are already impressive, Chris also gives a &amp;lsquo;crash course&amp;rsquo; in this video&lt;/a&gt;
 about Java and Byte code and how the Just-In-Time compiler converts these to native code in the Java Virtual Machine.&lt;/em&gt; &amp;quot; More info in &lt;a href="https://webtechie.be/post/2025-02-20-jfxinaction-chris-newland-demofx-jitwatch/" target="_blank" rel="noopener noreferrer"&gt;this blog post&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=4qkflNl1ivA" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Cormac Redmond&lt;/strong&gt; talks about KafkIO&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;It&amp;rsquo;s a beautiful user interface for interacting with Kafka clusters, reading and producing messages, and much more. Above all, it&amp;rsquo;s free and created with Java and JavaFX!&lt;/em&gt; &amp;quot; More info &lt;a href="https://webtechie.be/post/2025-02-27-jfxinaction-cormac-redmond-kafkio/" target="_blank" rel="noopener noreferrer"&gt;in this blog post&lt;/a&gt;
.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;A &lt;a href="https://www.youtube.com/watch?v=m-4qf0zYRYg" target="_blank" rel="noopener noreferrer"&gt;new video by &lt;strong&gt;Sean Phillips&lt;/strong&gt;&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;JavaFX based Trinity XAI UMAP Automation For Deep Fake Detection. Interactive visualization tools for analyzing performance of Deep Fake detection AI models. Automatic for the people.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-5-conferences"&gt;Conferences&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://bsky.app/profile/jagovreede.bsky.social/post/3lhgrgloi5c23" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Jago de Vreede&lt;/strong&gt;&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;I&amp;rsquo;ve just got good news that &amp;lsquo;Building a native multiplatform SDKMAN in JavaFX&amp;rsquo; has been accepted for Devoxx UK 2025!&lt;/em&gt; &amp;quot;
&lt;ul&gt;
&lt;li&gt;And he &lt;a href="https://bsky.app/profile/brabantjug.nl/post/3lhciadcdkk2g" target="_blank" rel="noopener noreferrer"&gt;presented at Brabant JUG&lt;/a&gt;
 in the Netherlands: &amp;ldquo;&lt;em&gt;Our next meetup will be on 25 February at the WAES office in Eindhoven.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-6-tutorials"&gt;Tutorials&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.devgem.io/posts/integrating-material-design-icons-in-javafx-using-ikonli-for-seamless-css-styling" target="_blank" rel="noopener noreferrer"&gt;Integrating Material Design Icons in JavaFX Using Ikonli for Seamless CSS Styling&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;By embracing the Ikonli library, JavaFX developers can significantly streamline the process of integrating and managing Material Design Icons through CSS.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;Lecture by &lt;strong&gt;Sergiy Tytenko&lt;/strong&gt; on YouTube: &amp;ldquo;&lt;a href="https://www.youtube.com/watch?v=_0SX4BXVUWY" target="_blank" rel="noopener noreferrer"&gt;GUI with JavaFX, I/O | OOP and Data Structures with Java&lt;/a&gt;
.&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-7-miscellaneous"&gt;Miscellaneous&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;CheerpJ is a WebAssembly-based Java Virtual Machine for the browser. &lt;a href="https://bsky.app/profile/leaningtech.bsky.social/post/3lhj4a3hlh222" target="_blank" rel="noopener noreferrer"&gt;It can run games like Minecraft right in your browser&lt;/a&gt;
. CheerpJ 3.1 got released and &lt;a href="https://bsky.app/profile/leaningtech.bsky.social/post/3lhj4axc3k222" target="_blank" rel="noopener noreferrer"&gt;4.0 is coming&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;It&amp;rsquo;s a game-changer: Java 11+ support, WebAssembly-powered JNI (run native code, think Minecraft!), Full JavaFX &amp;amp; SWT, Improved mobile support. No plugins, just Java!&lt;/em&gt;&amp;rdquo; Definitely an interesting project to keep an eye on!&lt;/li&gt;
&lt;li&gt;&lt;a href="https://mastodon.social/@johanvos/113957593797425638" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Johan Vos&lt;/strong&gt; shares his frustrations&amp;hellip;&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;The biggest obstacles for running JavaFX on iOS is that I have to deal with Apple stuff that really makes me angry. I would accept this from an underfunded open-source project, or from Windows 95. But from a company that gets applauded for how user friendly it is, this is unacceptable. Stuck for 30 minutes in &amp;lsquo;100% completed&amp;rsquo;. Seriously, that is what makes it hard. Not the Java or C code.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://bsky.app/profile/mklestil.bsky.social/post/3lhoteypi5s26" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;@mklestil&lt;/strong&gt; is experimenting with JavaFX for 100DaysofCode&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;Continued working on my Pomodoro app, SQLite is now running and storing Pomodoro sessions. Additionally, I have now learned how to use CSS in JavaFX, which makes the whole thing much more pleasant. Happy Coding.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://moldstud.com/articles/p-navigating-common-challenges-with-javafx-and-jar-files-for-developers" target="_blank" rel="noopener noreferrer"&gt;Navigating Common Challenges with JavaFX and JAR Files for Developers&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;Discover essential tips to avoid common pitfalls when working with JavaFX and JAR files, ensuring a smoother development experience.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;Finally some good results with LLM, by &lt;a href="https://x.com/capoolar/status/1892787422284427733" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;ppolis&lt;/strong&gt;&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;Thanks to grok i just learned that i can you css in javafx , live is good.&lt;/em&gt;&amp;rdquo; 😉&lt;/li&gt;
&lt;li&gt;&lt;a href="https://bsky.app/profile/dlemmermann.bsky.social/post/3liofxmviyk2y" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Dirk Lemmermann&lt;/strong&gt; shared a screenshot&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;Another nice example for a makeover of one of the GemFX components via AtlantaFX. &amp;hellip; If you are interested in AtlantaFX I would suggest to &lt;a href="https://downloads.hydraulic.dev/atlantafx/sampler/download.html" target="_blank" rel="noopener noreferrer"&gt;download the sampler desktop app installer&lt;/a&gt;
 that was created via the great Conveyor tool by Hydraulic.&lt;/em&gt; &amp;quot;
&lt;ul&gt;
&lt;li&gt;Check &lt;a href="https://bsky.app/profile/dlemmermann.bsky.social" target="_blank" rel="noopener noreferrer"&gt;Dirk&amp;rsquo;s timeline on Bluesky&lt;/a&gt;
 for more screenshots of the changes he is doing with AtlantaFX.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&amp;ldquo;&lt;a href="https://www.theserverside.com/tip/Why-use-JavaFX" target="_blank" rel="noopener noreferrer"&gt;Why use JavaFX in 2025?&lt;/a&gt;
&amp;rdquo; by &lt;strong&gt;Frank Delporte&lt;/strong&gt; on TheServerSide: &amp;ldquo;&lt;em&gt;As a modern GUI framework, JavaFX is alive and kicking with a very broad community and many active projects. Here are some resources to deepen your knowledge and spark inspiration.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://bsky.app/profile/hallvard.bsky.social/post/3lizpb23qek2d" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Hallvard Trætteberg&lt;/strong&gt; on Bluesky&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;In a recent post about my Sokoban, a JavaFX project on GitHub, I complained about build problems with Android. &lt;strong&gt;Frank Delporte&lt;/strong&gt; pointed me to &lt;a href="https://github.com/gluonhq/gluonfx-maven-plugin/issues/518" target="_blank" rel="noopener noreferrer"&gt;an issue on gluonfx-maven-plugin&lt;/a&gt;
 where &lt;strong&gt;Johan Vos&lt;/strong&gt; explained the situation about the archival of vmone. I&amp;rsquo;ve now moved back to v1.0.23 and the build works again!&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&amp;ldquo;&lt;a href="https://bluelight.co/blog/best-java-gui-frameworks" target="_blank" rel="noopener noreferrer"&gt;8 Best Java GUI Frameworks for Modern Applications&lt;/a&gt;
&amp;rdquo; by &lt;strong&gt;Rodolfo Ortega&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Some JavaFX love&amp;hellip;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://bsky.app/profile/legiayayana.bsky.zoner.work/post/3lig672ncqc24" target="_blank" rel="noopener noreferrer"&gt;*&lt;strong&gt;Ada, neptunyl⁷-hydroxide&lt;/strong&gt;&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;I hate how nobody is bothered by the fact that peak cross platform UI framework design is JavaFX.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://x.com/Wire_Daemon/status/1891174964801237139" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Kristin Rutenkolk&lt;/strong&gt;&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;As strange as it sounds, JavaFX is still surprisingly solid. It&amp;rsquo;s its own open source library OpenJFX now and there is a GUI SceneBuilder tool. It has it&amp;rsquo;s own declarative format thing going on if you want that. It feels quite oldschool but it&amp;rsquo;s robust and i still quite like it.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://bsky.app/profile/bmarwell.de/post/3licshuu5zs2i" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Benjamin Marwell ☕&lt;/strong&gt;&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;I feel that JavaFX is so underrated and Java should be coming back to desktops&amp;hellip;&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-8-jfx-central"&gt;JFX Central&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;New content:
&lt;ul&gt;
&lt;li&gt;People: &lt;a href="https://www.jfx-central.com/people/s.reimers" target="_blank" rel="noopener noreferrer"&gt;Sven Reimers&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;People: &lt;a href="https://www.jfx-central.com/people/c.newland" target="_blank" rel="noopener noreferrer"&gt;Chris Newland&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;People: &lt;a href="https://www.jfx-central.com/people/c.redmond" target="_blank" rel="noopener noreferrer"&gt;Cormac Redmond&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Company: &lt;a href="https://www.jfx-central.com/companies/certak" target="_blank" rel="noopener noreferrer"&gt;Certak&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Tools: &lt;a href="https://www.jfx-central.com/tools/demofx" target="_blank" rel="noopener noreferrer"&gt;DemoFX, performance test platform for JavaFX&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Showcase: &lt;a href="https://www.jfx-central.com/real_world/jtaccuino" target="_blank" rel="noopener noreferrer"&gt;JTaccuino, JavaFX based notebook application for Java developers&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Showcase: &lt;a href="https://www.jfx-central.com/real_world/jitwatch" target="_blank" rel="noopener noreferrer"&gt;JitWatch, log analyser and visualiser for the HotSpot JIT compiler&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Showcase: &lt;a href="https://www.jfx-central.com/showcases/kafkio" target="_blank" rel="noopener noreferrer"&gt;KafkIO, A Fast, Intuitive and Free Kafka Client For Mac, Windows and Linux.&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Video: &lt;a href="https://www.jfx-central.com/videos/gkHgsamCoGc" target="_blank" rel="noopener noreferrer"&gt;JavaFX In Action with Sven Reimers about JTaccuino&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Video: &lt;a href="https://www.jfx-central.com/videos/8s14hFLp7cI" target="_blank" rel="noopener noreferrer"&gt;JavaFX In Action with Chris Newland about DemoFX and JitWatch&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Video: &lt;a href="https://www.jfx-central.com/videos/4qkflNl1ivA" target="_blank" rel="noopener noreferrer"&gt;JavaFX In Action with Cormac Redmond about KafkIO&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;The overview of the LinksOfTheWeek of January 2025 got &lt;a href="https://foojayio.github.io/website/today/javafx-links-of-january-2025/"&gt;published on Foojay.io&lt;/a&gt;
.&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>JavaFX Links of January 2025</title><link>https://foojayio.github.io/website/today/javafx-links-of-january-2025/</link><pubDate>Sat, 01 Feb 2025 16:20:33 +0000</pubDate><guid>https://foojayio.github.io/website/today/javafx-links-of-january-2025/</guid><description>&lt;p&gt;&lt;strong&gt;Here is the first overview of the JavaFX LinksOfTheMonth for 2025. You can find the weekly lists on &lt;a href="https://www.jfx-central.com/links" target="_blank" rel="noopener noreferrer"&gt;jfx-central.com&lt;/a&gt;
.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Did we miss anything? Is there anything you want to have included in one of the next overviews?&lt;/p&gt;
&lt;p&gt;Let us know via &lt;a href="https://foojayio.github.io/website/cdn-cgi/l/email-protection"&gt;[email protected]&lt;/a&gt;
.&lt;/p&gt;
&lt;h2 id="h2-0-core"&gt;Core&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;CPU (security) releases for OpenJFX are available. Read more &lt;a href="https://gluonhq.com/announcing-the-availability-of-javafx-23-0-2-21-0-6-lts-and-17-0-14-lts/" target="_blank" rel="noopener noreferrer"&gt;on the Gluon website&lt;/a&gt;
. You can &lt;a href="https://gluonhq.com/products/javafx/" target="_blank" rel="noopener noreferrer"&gt;get the SDKS here&lt;/a&gt;
 or use the Maven artifacts from Maven Central.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://jdk.java.net/javafxmetal/" target="_blank" rel="noopener noreferrer"&gt;An early access build of the JavaFX from the &amp;ldquo;metal&amp;rdquo; branch of the openjdk/jfx-sandbox repository is available&lt;/a&gt;
, implementing the new Metal graphics renderning pipeline for macOS: &amp;ldquo;&lt;em&gt;The goal of this release is to solicit feedback as we work toward integrating this functionality into JavaFX. Binaries are provided as a convenience so that users do not need to build from the source code. Warning: This build is based on an incomplete version of JavaFX 25.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;Still running JavaFX 8 apps? As Oracle will end support for JavaFX on Java 8 in March 2025, &lt;a href="https://www.azul.com/javafx-java8-oracle-end-of-support/" target="_blank" rel="noopener noreferrer"&gt;Azul has put up a page to inform you about your options&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://bsky.app/profile/johanvos.bsky.social/post/3lgxb47ksvc2q" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Johan Vos&lt;/strong&gt;&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;What if&amp;hellip; we could build a JDK including JavaFX, using the JDK build system? As a POC, I added 3 javafx modules to my fork of openjdk/jdk and built them on Linux. The openjdk/jdk build system is excellent, and it required only minimal changes to do this. See &lt;a href="https://github.com/johanvos/jdk/tree/openjfx" target="_blank" rel="noopener noreferrer"&gt;GitHub&lt;/a&gt;
.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-1-applications"&gt;Applications&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://blog.jabref.org/2024/12/23/JabRef6-0-alpha/" target="_blank" rel="noopener noreferrer"&gt;JabRef released the first 6.0 alpha version&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;Packed with the cool features from GSOC and many other fixes: AI features, CSL Styles in LibreOffice, New search.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://dev.to/maksik997/major-release-total-overhaul-javafx-renaissance-51m" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Maksymilian&lt;/strong&gt; announced the biggest update yet of his project Picture Comparer FX&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;This application is designed to help you automatically find and manage redundant images in your collection. Whether you&amp;rsquo;re dealing with duplicate photos or just want a more organized image library, this tool simplifies the process.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://bsky.app/profile/schlining.bsky.social/post/3lfjvdzhsnk2s" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Brian Schlining&lt;/strong&gt; shared a link to vars-annotation&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;Video Annotation Application for MBARI&amp;rsquo;s Media Management (M3) software stack.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://bsky.app/profile/zolbatar.bsky.social/post/3lgkt6i7bns2y" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Daryl&lt;/strong&gt; shared a screenshot&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;I haven&amp;rsquo;t posted an update in a while, so a sneaky peek at the latest version of Daric in development. It might look a little familiar&amp;hellip; Why invent, when you can re-invent&amp;hellip;&lt;/em&gt;&amp;rdquo; Daric is a modern BASIC dialect. It has a clean syntax, strong data structures, good library support and compiles to fast JVM bytecode.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-2-games"&gt;Games&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Almas Baim&lt;/strong&gt; is continuing his experiments with shaders in FXGL and shared a lot of the results. Here are just a few, check his Twitter/X timeline for more&amp;hellip;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://x.com/AlmasBaim/status/1871485496737821077" target="_blank" rel="noopener noreferrer"&gt;First public demo&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;If you are on Windows and feel bored, give this demo a try and play with different shaders. If anything fails / crashes / doesn&amp;rsquo;t work, please report an issue on the main FXGL repo.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&amp;ldquo;&lt;em&gt;There are some really cool shaders available online. &lt;a href="https://shadertoy.com/view/XfyXRV" target="_blank" rel="noopener noreferrer"&gt;Here&amp;rsquo;s one from &lt;strong&gt;shadertoy&lt;/strong&gt;&lt;/a&gt;
. The demo shows a property bound to a shader variable, hence the ability to control the rotation speed. The glass effect and reflections are just 🤩&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&amp;ldquo;&lt;em&gt;One of the use cases I envisaged for a &lt;a href="https://x.com/AlmasBaim/status/1872280066786476253" target="_blank" rel="noopener noreferrer"&gt;combined JavaFX scene graph and OpenGL context&lt;/a&gt;
. The majority of the game is rendered by JavaFX / FXGL, but some complex visual effects are done with OpenGL shaders. From performance point of view, this is also sensible.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;A &lt;a href="https://www.linkedin.com/posts/almasb_hand-tracking-via-mediapipe-in-fxgl-is-getting-activity-7288195001124098048-wgAc/" target="_blank" rel="noopener noreferrer"&gt;video on LinkedIn by &lt;strong&gt;Almas Baim&lt;/strong&gt;&lt;/a&gt;
 shows how he can move objects in an application with motion tracking: &amp;ldquo;&lt;em&gt;Hand tracking via MediaPipe in FXGL is getting an upgrade in the next version. The demo consumes raw tracking data with no fine-tuning. So improved user experience results are certainly possible.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://x.com/AlmasBaim/status/1882864344888922298" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Almas Baim&lt;/strong&gt; shared a video&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;Just a quick proof-of-concept demo running WebGL inside FXGL. Given native GLSL support is on its way, WebGL support is unlikely to reach production.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;A new Steam game: &amp;ldquo;&lt;em&gt;&lt;a href="https://store.steampowered.com/app/3436980/" target="_blank" rel="noopener noreferrer"&gt;SuperCowBoy&lt;/a&gt;
 is a 2D side-scrolling game developed using JavaFX. There are three professions in the game. The game is divided into 8 levels with gradually increasing difficulty, and the total game time is 20 hours. The game map is full scene, with a bright pixel art style high frame rate display.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://bsky.app/profile/markjkoch.bsky.social/post/3lghw3v5rb22l" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Mark J. Koch&lt;/strong&gt; shared a video&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;Scene working! Going to call this a wrap for now. Check out that cameo! Lots of future work to do here but it&amp;rsquo;s roughed out. Will pick another scene to work on over the weekend.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-3-components-libraries-tools"&gt;Components, Libraries, Tools&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/husker-dev/openglfx/tags" target="_blank" rel="noopener noreferrer"&gt;Version 4.1.17 of Openglfx got released&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;This library adds a new element to the JavaFX for rendering OpenGL graphics using LWJGL, JOGL, LWJGL2 or LibGDX. It is optimized for each platform and includes some auxiliary functions for working with OpenGL from JavaFX.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/HugoQuinn2/fxpopup/releases/tag/v1.0.0" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Hugo Quinn&lt;/strong&gt; released v1.0.0 of FxPopup&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;JavaFX library that simplifies the creation of automatic forms and popup messages with minimal effort. With just a single line of code, developers can generate dynamic forms or display messages, while maintaining the flexibility to use custom views for both functionalities.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://x.com/shannah78/status/1744059640231735638" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Steve Hannah&lt;/strong&gt; released jDeploy 4.0.34&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;It fixes &amp;lsquo;offline&amp;rsquo; support for apps. If you have an app deployed with &lt;a href="https://jdeploy.com" target="_blank" rel="noopener noreferrer"&gt;jDeploy&lt;/a&gt;
, all you need to do is re-install your app for it to work fully offline.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-4-podcasts-videos-books"&gt;Podcasts, Videos, Books&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Part 3 of the overview of the &amp;ldquo;JavaFX In Action&amp;rdquo; interviews by &lt;strong&gt;Frank Delporte&lt;/strong&gt; got &lt;a href="https://foojayio.github.io/website/today/video-series-javafx-in-action-part-3/"&gt;published on Foojay&lt;/a&gt;
 with:
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Özkan Pakdil&lt;/strong&gt;: Swaggerific, an open-source Postman alternative written in JavaFX&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Clément de Tastes&lt;/strong&gt;: QuarkusFX, combining the strengths of Quarkus and JavaFX&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Almas Baim&lt;/strong&gt;: FXGL, a multipurpose game library for JavaFX&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Steve Hannah&lt;/strong&gt;: jDeploy, to distribute your Java app as a native bundle&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Jago de Vreede&lt;/strong&gt;: SDKman UI, a user interface on top of SDKMAN for all platforms&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=k4h7EhCuoW8" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Roberto Marquez&lt;/strong&gt; published a video (with a link to the sources)&lt;/a&gt;
 &amp;ldquo;&lt;em&gt;demonstrating a JavaFX application that communicates with a temperature and humidity sensor and displays the values on screen. It uses software from &lt;strong&gt;Frank Delporte&lt;/strong&gt; (LED display) and jSerialComm, and hardware from Adafruit.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;Not from last week, but just discovered these now: &lt;a href="https://www.youtube.com/watch?v=fBvcUJbCMXo" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Josh Long&lt;/strong&gt; and &lt;strong&gt;Max Rydahl Andersen&lt;/strong&gt; talk about JBang&lt;/a&gt;
 in a live stream and show how you can use it to run JavaFX code very easily.&lt;/li&gt;
&lt;li&gt;An &lt;a href="https://www.linkedin.com/posts/apress_featuredfriday-javafx-openjfx-activity-7283490269948178434-9jvg/" target="_blank" rel="noopener noreferrer"&gt;interview on LinkedIn with &lt;strong&gt;Stephen Chin&lt;/strong&gt;&lt;/a&gt;
, coauthor (along with &lt;strong&gt;James Weaver&lt;/strong&gt; and &lt;strong&gt;Johan Vos&lt;/strong&gt; ) of the Third Edition of &amp;ldquo;&lt;em&gt;The Definitive Guide to Modern Java Clients with JavaFX: Cross-Platform Mobile and Cloud Development Updated for JavaFX 21 and 23&lt;/em&gt;&amp;rdquo;.&lt;/li&gt;
&lt;li&gt;The &lt;a href="https://www.youtube.com/watch?v=CuI7-PllJZQ" target="_blank" rel="noopener noreferrer"&gt;first &amp;ldquo;JavaFX In Action&amp;rdquo; interview of 2025 is live! With Hydraulic Software, &lt;strong&gt;Mike Hearn&lt;/strong&gt;&lt;/a&gt;
 solves a problem many developers struggle with: efficiently distributing your application and ensuring the users get the latest version. With Conveyor, he created a tool to easily create an installer for JavaFX, Electron, and Flutter apps! Check the &lt;a href="https://webtechie.be/post/2025-01-23-jfxinaction-mike-hearn-conveyor/" target="_blank" rel="noopener noreferrer"&gt;blog for more info&lt;/a&gt;
.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-5-conferences"&gt;Conferences&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;The schedule has been published of JavaOne 2025 &amp;ldquo;&lt;em&gt;Where Java developers come to skill up&lt;/em&gt; &amp;ldquo;, March 18&amp;ndash;20, 2025, USA. It contains three JavaFX sessions:
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://reg.rf.oracle.com/flow/oracle/javaone25/catalog/page/catalog/session/1734125339212001XwBE" target="_blank" rel="noopener noreferrer"&gt;JavaFX 24 and Beyond&lt;/a&gt;
 by &lt;strong&gt;Kevin Rushfort&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://reg.rf.oracle.com/flow/oracle/javaone25/catalog/page/catalog/session/1728506254826001MEHs" target="_blank" rel="noopener noreferrer"&gt;JavaFX in the web&lt;/a&gt;
 by &lt;strong&gt;Karl Berger&lt;/strong&gt; and &lt;strong&gt;Florian Kirmaier&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://reg.rf.oracle.com/flow/oracle/javaone25/catalog/page/catalog/session/1728227349663001Wod9" target="_blank" rel="noopener noreferrer"&gt;Building a Multiplatform SDKMAN in JavaFX&lt;/a&gt;
 by &lt;strong&gt;Jago de Vreede&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;The live streams from the &lt;a href="https://jchampionsconf.com/schedule.html" target="_blank" rel="noopener noreferrer"&gt;JChampions Conference&lt;/a&gt;
 (January 23, 24, 27, and 28) are available on YouTube:
&lt;ul&gt;
&lt;li&gt;&amp;ldquo;&lt;a href="https://www.youtube.com/watch?v=R1gHQtBXfYk" target="_blank" rel="noopener noreferrer"&gt;JTaccuino - A better Jupyter Experience for Java Developers&amp;rdquo;&lt;/a&gt;
, presented by &lt;strong&gt;Sven Reimers&lt;/strong&gt; : &amp;ldquo;&lt;em&gt;This session shows a new tool for interactive computing for Java developers. It provides a seamless interactive experience to write Java code, interact with the results using a full graphical interface and all this without the tedious process of compiling and running every time you make a small change achieving a lightweight rapid development cycle.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&amp;ldquo;&lt;a href="https://www.youtube.com/watch?v=UW6fDQt-8BI" target="_blank" rel="noopener noreferrer"&gt;Looking at Music, an experiment with Kotlin, JavaFX, MIDI, and Virtual Threads&lt;/a&gt;
&amp;rdquo;, presented by &lt;strong&gt;Vik and Frank Delporte&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-6-tutorials"&gt;Tutorials&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.linkedin.com/pulse/twas-week-before-breakfun-javafx-project-end-year-furman-sheldon-fhvqc/" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Crystal Furman Sheldon&lt;/strong&gt; published a challenge for students&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;&amp;lsquo;Twas the week before winter break when all through the school, the CS teachers wondered what interesting things they could do. The projects and exams were all set for the year, in the hopes of something fun to finish the year. JavaFX to the rescue a fun creative tool. Allow students to explore and learn something new&amp;hellip;&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://bsky.app/profile/polypragmatist.bsky.social/post/3lef6zcqez22t" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;polypragmatist&lt;/strong&gt;&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;I came up with an interesting approach to create &amp;lsquo;Layout-centric&amp;rsquo; styleable properties in JavaFX. Instead of creating a single-use named class, a small amount of setup makes it easy to create StyleableProperties on the fly for your layouts.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=VLMHkyRXjxI" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Almas Baim&lt;/strong&gt; published a video&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;FXGL 25 Tutorial: Shaders. We go through a basic workflow related to using shaders in FXGL. As of December 2024, this only works on WIndows. Once the full release is ready, it will work on Mac/Linux.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://codezup.com/kotlin-desktop-applications-jfx-swing/" target="_blank" rel="noopener noreferrer"&gt;Kotlin for Desktop Applications: Using JFX and Swing&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;In this comprehensive tutorial, we will explore the core concepts, implementation guide, and best practices for building desktop applications using Kotlin, JFX, and Swing.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=ew1k9yr-LHk" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Webdox&lt;/strong&gt; published a YouTube tutorial&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;JavaFX GUI Tutorial for Beginners. In this video, you&amp;rsquo;ll learn how to set up a basic JavaFX project, create a simple user interface, and understand how to use JavaFX components like Buttons, Labels, and Scenes. Whether you&amp;rsquo;re new to Java or just getting started with JavaFX, this guide will help you build a solid foundation.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-7-miscellaneous"&gt;Miscellaneous&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Check the &lt;a href="https://x.com/DVyadav2307/status/1873136518807863599" target="_blank" rel="noopener noreferrer"&gt;Twitter/X timeline of &lt;strong&gt;Divyanshu Yadav&lt;/strong&gt;&lt;/a&gt;
 for more like this: &amp;ldquo;&lt;em&gt;I&amp;rsquo;ve been using charts and graphs in JavaFX as a fun way to visualize how data manipulation algorithms work esp. sorting algorithms. Check out this GIF to see how the BubbleSort algo works.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;Some JavaFX love to start 2025:
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://x.com/RLaborantin/status/1874026919014101011" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Rachid Laborantin&lt;/strong&gt;&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;And I thought Java was old-fashioned, but it continues to work wonders with JavaFx. I&amp;rsquo;ve been using Swing for a long time and I think it&amp;rsquo;s time to go to JavaFx.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://bsky.app/profile/hansolo.eu/post/3ldt6ifoknk2n" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Gerrit Grunwald&lt;/strong&gt;&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;Can&amp;rsquo;t say it often enough but JavaFX is sooooo good for creating desktop tools&amp;hellip; simply love it 🫶🏻&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://bsky.app/profile/johanvos.bsky.social/post/3ldsmmxrxrc2a" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Johan Vos&lt;/strong&gt; needs your feedback&lt;/a&gt;
= &amp;ldquo;&lt;em&gt;I&amp;rsquo;m working on StrangeFX, and looking for input from JavaFX developers. What would be your preferred root layout container for this concept? StrangeFX currently use a Group for this, but I am thinking about changing this, to improve embedding capabilities in e.g. JTaccuino.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;Article by &lt;strong&gt;Frank Delporte&lt;/strong&gt; on TheServerSide: &lt;a href="https://www.theserverside.com/tip/Swing-vs-JavaFX-Compare-Java-GUI-frameworks" target="_blank" rel="noopener noreferrer"&gt;Swing vs. JavaFX: Compare Java GUI frameworks&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;Yes, developers can use Java to develop graphical user interfaces (GUIs). In fact, Java&amp;rsquo;s ability to create cross-platform desktop apps was one of the language&amp;rsquo;s biggest selling features when it was released in 1995. However, as Java evolved and changed throughout the years, so did the desktop-rendering toolkits it supported, with the original Abstract Window Toolkit (AWT) giving way to Swing components which has now given way to JavaFX, the preferred choice for modern development.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://bsky.app/profile/peterpilgrim.bsky.social/post/3lfwtvhci722y" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Peter Pilgrim&lt;/strong&gt; on Bluesky&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;&lt;strong&gt;Jasper Potts&lt;/strong&gt; when he worked at Oracle had a lot of JavaOne demos including &lt;a href="https://www.jasperpotts.com/project/3d-container-port-in-javafx/" target="_blank" rel="noopener noreferrer"&gt;this JavaFX 3D container ports&lt;/a&gt;
. Look at the H/W available today MacMini M4 then think of the possibilities, especially in Augmented Reality.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.fromdev.com/2025/01/top-java-chart-libraries-for-data-visualization-in-2025.html" target="_blank" rel="noopener noreferrer"&gt;Top Java Chart Libraries for Data Visualization in 2025&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;In this article, we explore some of the best free and open-source Java chart libraries available. Each of these libraries offers unique features that cater to different requirements, making them ideal for a wide range of applications.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://quarkus.io/blog/introducing-mcp-servers/" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Max Rydahl Andersen&lt;/strong&gt; published a blog post&lt;/a&gt;
 &amp;ldquo;&lt;em&gt;about my side-project of implementing some sample MCP servers in Java using Quarkus and JBang. Connect to Any JDBC datasource, access the filesystem and draw art on a JavaFX canvas. Lets grow the list!&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://blog.tomsawyer.com/node-graph-visualization" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Caroline Scharf&lt;/strong&gt; wrote a long post&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;Exploring Graph Node Visualization Techniques in JavaFX and Python.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-8-jfx-central"&gt;JFX Central&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;New content on JFX Central:
&lt;ul&gt;
&lt;li&gt;Showcase: &lt;a href="https://www.jfx-central.com/showcases/barcodify" target="_blank" rel="noopener noreferrer"&gt;Barcodify, an application for barcode generation&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Library: &lt;a href="https://www.jfx-central.com/libraries/fxpopup" target="_blank" rel="noopener noreferrer"&gt;FxPopup&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;People: &lt;a href="https://www.jfx-central.com/people/h.quinn" target="_blank" rel="noopener noreferrer"&gt;Hugo Quinn&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Video: &lt;a href="https://www.jfx-central.com/videos/CuI7-PllJZQ" target="_blank" rel="noopener noreferrer"&gt;JavaFX In Action with Mike Hearn about Conveyor&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;The overview of the links of the week of December got &lt;a href="https://foojayio.github.io/website/today/javafx-links-of-december-2024/"&gt;published on Foojay&lt;/a&gt;
.&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Video series “JavaFX In Action”, Part 3</title><link>https://foojayio.github.io/website/today/video-series-javafx-in-action-part-3/</link><pubDate>Fri, 03 Jan 2025 09:38:59 +0000</pubDate><guid>https://foojayio.github.io/website/today/video-series-javafx-in-action-part-3/</guid><description>&lt;p&gt;This is the next part in the series of &amp;ldquo;JavaFX in Action&amp;rdquo; interviews published in the last part of 2024. Are you working on a fantastic JavaFX application? Let me know, and let&amp;rsquo;s discuss it in the new year!&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://foojayio.github.io/website/today/new-video-series-javafx-in-action-part-1/"&gt;July: Pedro Duque Vieira, Daniel Zimmermann, Christopher Schnick, and Robert Ladstätter&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://foojayio.github.io/website/today/video-series-javafx-in-action-part-2/"&gt;November: Maciej Gorywoda, Ramiro Domínguez Ayub, Christoph Schwentker, Ulas Ergin&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-0-zkan-pakdil-swaggerific-an-open-source-postman-alternative-written-in-javafx"&gt;Özkan Pakdil: Swaggerific, an open-source Postman alternative written in JavaFX&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://www.linkedin.com/in/ozkanpakdil/" target="_blank" rel="noopener noreferrer"&gt;Özkan Pakdil&lt;/a&gt;
 is a seasoned full-stack developer with over 15 years of experience, deeply rooted in both back-end and front-end technologies. His expertise spans from Varnish cache servers and New Relic to Node.js, Quarkus, Micronaut, Rust, Java, JavaFX,&amp;hellip;&lt;/p&gt;</description></item><item><title>JavaFX Links of December 2024</title><link>https://foojayio.github.io/website/today/javafx-links-of-december-2024/</link><pubDate>Mon, 30 Dec 2024 08:06:43 +0000</pubDate><guid>https://foojayio.github.io/website/today/javafx-links-of-december-2024/</guid><description>&lt;p&gt;Here is the last overview of the JavaFX LinksOfTheMonth for 2024. You can find the weekly lists on &lt;a href="https://www.jfx-central.com/links" target="_blank" rel="noopener noreferrer"&gt;jfx-central.com&lt;/a&gt;
. We hope you enjoyed all the previous editions and we promise to go on in the next year&amp;hellip; Have a nice holiday and see you in 2025!&lt;/p&gt;
&lt;p&gt;Did we miss anything? Is there anything you want to have included in one of the next overviews? Let us know via &lt;a href="https://foojayio.github.io/website/cdn-cgi/l/email-protection"&gt;[email protected]&lt;/a&gt;
.&lt;/p&gt;</description></item><item><title>Foojay Podcast #64: Interviews at JFall about opensource, OpenJDK evolutions, Project Loom, JVM,...</title><link>https://foojayio.github.io/website/today/foojay-podcast-64/</link><pubDate>Mon, 23 Dec 2024 10:51:20 +0000</pubDate><guid>https://foojayio.github.io/website/today/foojay-podcast-64/</guid><description>&lt;p&gt;Let&amp;rsquo;s wrap up this year with more interviews from the JFall conference.&lt;/p&gt;
&lt;p&gt;In this episode you&amp;rsquo;ll learn more about Foojay, JVM internals and writing your own programming language, Project Loom and structured concurrency, learning at conferences, code reviews, creating desktop applications with Java, infrastructure as code, JUG Noord, and much more!&lt;/p&gt;
&lt;h2 id="h2-0-video"&gt;Video&lt;/h2&gt;
&lt;div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;"&gt;
			&lt;iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube.com/embed/kx6DfVE-I0o?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video"&gt;&lt;/iframe&gt;
		&lt;/div&gt;

&lt;h2 id="h2-1-podcast-apps"&gt;Podcast Apps&lt;/h2&gt;
&lt;p&gt;You can listen and subscribe to the Foojay Podcast on:&lt;/p&gt;</description></item><item><title>JavaFX Links of November 2024</title><link>https://foojayio.github.io/website/today/javafx-links-of-november-2024/</link><pubDate>Sat, 30 Nov 2024 13:47:21 +0000</pubDate><guid>https://foojayio.github.io/website/today/javafx-links-of-november-2024/</guid><description>&lt;p&gt;Here is the overview of the JavaFX LinksOfTheMonth of November 2024, published on &lt;a href="https://www.jfx-central.com/" target="_blank" rel="noopener noreferrer"&gt;jfx-central.com&lt;/a&gt;
 during this month.&lt;/p&gt;
&lt;p&gt;Did we miss anything? Is there anything you want to have included in one of the next overviews?&lt;/p&gt;
&lt;p&gt;Let us know via &lt;a href="https://foojayio.github.io/website/cdn-cgi/l/email-protection"&gt;[email protected]&lt;/a&gt;
.&lt;/p&gt;
&lt;h2 id="h2-0-core"&gt;Core&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;A lot of updates by &lt;strong&gt;Johan Vos&lt;/strong&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://mastodon.social/@johanvos/113415033521942389" target="_blank" rel="noopener noreferrer"&gt;Weekend update&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;Getting ready to create a developer preview for the headless platform.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://mastodon.social/@johanvos/113458868707472261" target="_blank" rel="noopener noreferrer"&gt;An update on OpenJDK Mobile&lt;/a&gt;
, a project to bring Java (and JavaFX) better and easier to mobile: &amp;ldquo;_Progress on using hotspot on iOS without AOT: building native JDK libs = ok, &lt;em&gt;VM start = ok, Reading bytecodes = ok, Starting interpreter = work started. The reason I&amp;rsquo;m doing this with hotspot is that I only want to use code from OpenJDK. I need to 100% understand how the VM (e.g. hotspot) is doing its work. The docs in OpenJDK + JBS are extremely helpful and aligned with the JVM spec doc. Maintainability is a key asset in OpenJDK.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://bsky.app/profile/johanvos.bsky.social/post/3lbfnxsksvk27" target="_blank" rel="noopener noreferrer"&gt;Headless JavaFX update&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;First JavaFX headless builds are available for testing, see the &lt;a href="https://mail.openjdk.org/pipermail/openjfx-dev/2024-November/050984.html" target="_blank" rel="noopener noreferrer"&gt;mailinglist&lt;/a&gt;
. Especially useful for JavaFX testing (and printing).&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://bsky.app/profile/johanvos.bsky.social/post/3lbxblqdl2s2n" target="_blank" rel="noopener noreferrer"&gt;Building several versions&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;JavaFX keeps moving forward! We&amp;rsquo;re now working on JavaFX 24, and JavaFX 17 and 21 are LTS releases, and so will JavaFX 25. No plans to drop support 🙂&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://bsky.app/profile/johanvos.bsky.social/post/3lbwvq7ppbc2n" target="_blank" rel="noopener noreferrer"&gt;Coding tip&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;JavaFX Performance tip: do not use Platform.runLater() unless you&amp;rsquo;re sure it is required. The Runnables are executed on the same platform thread that is also doing the layout at 60 fps.
I often see Platform.runLater() is used &amp;ldquo;just to make sure&amp;hellip;&amp;rdquo; but that can slow down performance.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://x.com/carldea/status/1856703165535584640" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Carl Dea&lt;/strong&gt; shared&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;JavaFX will have custom image loaders! See &lt;a href="https://bugs.openjdk.org/browse/JDK-8343315" target="_blank" rel="noopener noreferrer"&gt;JDK-8343315&lt;/a&gt;
. Man I love JavaFX! Thank you, &lt;a href="https://x.com/jddarcy" target="_blank" rel="noopener noreferrer"&gt;@jddarcy&lt;/a&gt;
!&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-1-scenebuilder"&gt;SceneBuilder&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://mastodon.social/@johanvos/113468864869281531" target="_blank" rel="noopener noreferrer"&gt;Again &lt;strong&gt;Johan Vos&lt;/strong&gt; 😉&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;Scene Builder is getting much better. &lt;a href="https://gluonhq.com/scene-builder-24-0-0-rc1-whats-coming-for-javafx-ui-developers/" target="_blank" rel="noopener noreferrer"&gt;Major changes in 24 are coming&lt;/a&gt;
: A major technical debt has been addressed: the whole structure, including Scene Builder Kit, is now modular. I highly recommend creating your JavaFX interfaces with this RC release!&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-2-applications"&gt;Applications&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://graz.social/@rladstaetter/113380976846373387" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Robert Ladstätter&lt;/strong&gt; announced LogoRRR 24.5.1&lt;/a&gt;
 for Windows, Mac, and Linux: &amp;ldquo;&lt;em&gt;More information about the included features and bugfixes is &lt;a href="https://github.com/rladstaetter/LogoRRR/releases/tag/24.5.1" target="_blank" rel="noopener noreferrer"&gt;available here&lt;/a&gt;
&lt;/em&gt;.&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://x.com/bluerai1n/status/1855383577199775882" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Bluerain&lt;/strong&gt; announced Mago&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;A JavaFX-based shell generator tool that creates payloads for Linux, Windows, and web systems. Generate payloads for various operating systems, Supports Base64 and URL encoding for generated commands, 110+ Payload.&lt;/em&gt; &amp;quot; You can &lt;a href="https://github.com/blue0x1/Mago" target="_blank" rel="noopener noreferrer"&gt;find it on GitHub&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;v3.20.1 of binjr, a standalone time series browser, is now available: &amp;ldquo;&lt;em&gt;This is an interim release which fixes a regression introduced in v3.20.0 that severely impacts the performances of the CSV and Log files adapters. Read the &lt;a href="https://binjr.eu" target="_blank" rel="noopener noreferrer"&gt;full changelog and download it here&lt;/a&gt;
.&lt;/em&gt; &amp;quot;
&lt;ul&gt;
&lt;li&gt;Related to this release, &lt;a href="https://mastodon.social/@fthevenet/113469334194641331" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Frederic Thevenet&lt;/strong&gt; shared&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;I&amp;rsquo;ve been pretty pleased with my custom &amp;lsquo;flickering neon sign&amp;rsquo; effect in JavaFX for the binjr logo, until the moment I realized my 12 y/o had no idea what that flickering was supposed to be! A very &amp;lsquo;what&amp;rsquo;s the color of a TV tuned to a dead channel?&amp;rsquo; moment&amp;hellip;&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;If you want to stay informed about new binjr releases: &lt;a href="https://binjr.eu/feed_rss_updated.xml" target="_blank" rel="noopener noreferrer"&gt;subscribe to their RSS&lt;/a&gt;
.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://bsky.app/profile/hansolo.eu/post/3lb2eehtyu22q" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Gerrit Grunwald&lt;/strong&gt; shared a video&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;And here you go&amp;hellip; my JavaFX-based QlockTwo with support for swipinp, on a Raspberry Pi.&lt;/em&gt;&amp;rdquo; He isn&amp;rsquo;t allowed to share the code because the design is copyrighted, but it is a piece of art to look at and a nice challenge to recreate it by yourself 😉&lt;/li&gt;
&lt;li&gt;&lt;a href="https://x.com/JagoVreede/status/1857082809355002346" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Jago de Vreede&lt;/strong&gt; is looking for help&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;I&amp;rsquo;ve created an early-access build for aarch64 binary for Mac of SKDman-UI. Unfortunately, I can&amp;rsquo;t test that one because I don&amp;rsquo;t have an M-MacBook. Does anyone with an M MacBook want to see if it works?&lt;/em&gt; &amp;quot;
&lt;ul&gt;
&lt;li&gt;The &lt;a href="https://github.com/jagodevreede/sdkman-ui/releases" target="_blank" rel="noopener noreferrer"&gt;(early-access) releases are on GitHub&lt;/a&gt;
, including a version for x86 macOS.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-3-games"&gt;Games&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.linkedin.com/posts/bj-delacruz_javafx-java-javaprogramming-activity-7262307662577520640-8mcI/" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;BJ Dela Cruz&lt;/strong&gt; shared a screenshot of his &amp;ldquo;Wordle&amp;rdquo; application&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;Finally, it will be able to generate an image that the player can keep to remember what moves he or she performed to win the game.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://bsky.app/profile/markjkoch.bsky.social/post/3lbutov6xp22o" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Mark J. Koch&lt;/strong&gt;&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;One of my bucket list game projects has reached Alpha. I&amp;rsquo;m looking for enthusiasts to try it. I ported/re-engineered Neuromancer PC to JavaFX. Original content, all new engine. For now requires NetBeans IDE to run.&lt;/em&gt; &amp;quot; You can &lt;a href="https://github.com/maehem/javamancer" target="_blank" rel="noopener noreferrer"&gt;find it on GitHub&lt;/a&gt;
.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-4-components-libraries-tools"&gt;Components, Libraries, Tools&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://x.com/carldea/status/1851983577321255003" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Carl Dea&lt;/strong&gt; published Cognitive 1.5.0&lt;/a&gt;
, a JavaFX MVVM forms library.&lt;br&gt;
Check the &lt;a href="https://github.com/carldea/cognitive/wiki#new-features" target="_blank" rel="noopener noreferrer"&gt;wiki for new features&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Pedro Duke&lt;/strong&gt; continues with his work in progress on the next release of Transit Theme and shared more screenshots:
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://x.com/P_Duke/status/1850541268331360395" target="_blank" rel="noopener noreferrer"&gt;Part 9&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;New LIGHT and DARK styles for Spinner and ChoiceBox&lt;/em&gt;.&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://x.com/P_Duke/status/1852713716531314778" target="_blank" rel="noopener noreferrer"&gt;Part 10&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;New LIGHT and DARK styles for MenuButton and SplitMenuButton&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://x.com/P_Duke/status/1855617371186020476" target="_blank" rel="noopener noreferrer"&gt;Part 11&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;New LIGHT and DARK styles for Editable ComboBox, Pill Buttons and Pill Toggle Buttons.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://x.com/P_Duke/status/1855617371186020476" target="_blank" rel="noopener noreferrer"&gt;Part 12&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;New LIGHT and DARK styles for Editable ComboBox, Pill Buttons and Pill Toggle Buttons.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-5-podcasts-videos-books"&gt;Podcasts, Videos, Books&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Not new, but just discovered: &lt;a href="https://bsky.app/profile/chadpreisler.bsky.social/post/3l3vjfi4z742r" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Chad Preisler&lt;/strong&gt; uses a JavaFX UI to demo Kafka Outer Joins&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;Make sure to stick around for the &lt;a href="https://www.youtube.com/watch?v=bGffINGD9KQ" target="_blank" rel="noopener noreferrer"&gt;demo right around four and half minutes into the video&lt;/a&gt;
. Happy coding!&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;New &amp;ldquo;JFX In Action&amp;rdquo; interviews by &lt;strong&gt;Frank Delporte&lt;/strong&gt; :
&lt;ul&gt;
&lt;li&gt;Insights into a new open-source JavaFX project: Swaggerific. It&amp;rsquo;s created by &lt;a href="https://techhub.social/@thejvmbender" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Özkan Pakdil&lt;/strong&gt;&lt;/a&gt;
, who tells us more about this Postman alternative to interact with REST endpoints documented with a Swagger JSON. The &lt;a href="https://www.youtube.com/watch?v=3_T0LDZ-Wt4" target="_blank" rel="noopener noreferrer"&gt;video is on YouTube&lt;/a&gt;
, and more info is provided in &lt;a href="https://webtechie.be/post/2024-11-05-jfxinaction-ozkan-pakdil/" target="_blank" rel="noopener noreferrer"&gt;this blog post&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://webtechie.be/post/2024-11-19-jfxinaction-clement-de-tastes/" target="_blank" rel="noopener noreferrer"&gt;Interview with &lt;strong&gt;Clément de Tastes&lt;/strong&gt;&lt;/a&gt;
 : &amp;ldquo;&lt;em&gt;In this episode, we take a look at the combination of JavaFX and Quarkus. Thanks to &lt;a href="https://www.jfx-central.com/libraries/quarkusfx" target="_blank" rel="noopener noreferrer"&gt;QuarkusFX&lt;/a&gt;
, we can make use of the many advantages of the Quarkus system to create a desktop application.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;Video #5 till #8 of these interviews got published in a summary on Foojay: &lt;a href="https://foojayio.github.io/website/today/video-series-javafx-in-action-part-2/"&gt;Video series &amp;ldquo;JavaFX In Action&amp;rdquo;, Part 2&lt;/a&gt;
 with &lt;strong&gt;Maciej Gorywoda&lt;/strong&gt; about FxCalculator, &lt;strong&gt;Ramiro Domínguez Ayub&lt;/strong&gt; about the Televic Generic Update Tool, &lt;strong&gt;Christoph Schwentker&lt;/strong&gt; about JabRef, and &lt;strong&gt;Ulas Ergin&lt;/strong&gt; about migrating from Swing to React UIs, all combined in one Java(FX) app.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://bsky.app/profile/antonarhipov.bsky.social/post/3lbjqjdtf2s2c" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Anton Arhipov&lt;/strong&gt; has a box with books to review&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;I was helping with technical reviews of this edition. The author &lt;strong&gt;Faisal Islam&lt;/strong&gt; teaches Kotlin by explaining and visualizing various algorithms. They used JavaFX for visualization though and I&amp;rsquo;d love to see another edition of this book using Compose instead.&lt;/em&gt;&amp;rdquo; Let&amp;rsquo;s conclude the Faisal made the right choice and Anton is wrong 😉&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-6-tutorials"&gt;Tutorials&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://x.com/AlexOmegapy/status/1855082449589748028" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Alexander S. Ricciardi&lt;/strong&gt; shared a tutorial about JavaFX Layout Managers&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;This article explores how Layout Managers provide an abstraction that streamlines the development of Graphical User Interfaces (GUIs) in JavaFX by automating component sizing and positioning. Using predefined layouts like HBox, VBox, and GridPane, developers can create organized and responsive interfaces.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://bsky.app/profile/polypragmatist.bsky.social/post/3lbabzug2bk2j" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;polypragmatist&lt;/strong&gt; shared on Bluesky&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;Looking to learn JavaFX? Take a look at my &lt;a href="https://www.pragmaticcoding.ca/beginners/intro" target="_blank" rel="noopener noreferrer"&gt;Beginners&amp;rsquo; Guide to JavaFX&lt;/a&gt;
. It&amp;rsquo;s a 13-part tutorial that takes you from &amp;lsquo;Hello World&amp;rsquo; to building an Reactive GUI with a framework. No FXML, all the layouts are done in code.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;Tutorial by Codez Up:
&lt;ul&gt;
&lt;li&gt;&amp;ldquo;&lt;em&gt;&lt;a href="https://codezup.com/building-a-social-media-dashboard-with-java-fx/" target="_blank" rel="noopener noreferrer"&gt;Building a Social Media Dashboard with JavaFX&lt;/a&gt;
.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&amp;ldquo;&lt;em&gt;&lt;a href="https://codezup.com/cloud-edge-computing-javafx-websocket-services/" target="_blank" rel="noopener noreferrer"&gt;Unlock Efficient Cloud and Edge Computing with JavaFX Websocket Services&lt;/a&gt;
&lt;/em&gt;&amp;rdquo;, to create a JavaFX application that uses Websocket Services to communicate with a server.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-7-miscellaneous"&gt;Miscellaneous&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://bsky.app/profile/hansolo.bsky.social/post/3l6c24vt4222g" target="_blank" rel="noopener noreferrer"&gt;On Bluesky, &lt;strong&gt;Gerrit Gruwald&lt;/strong&gt; explains&lt;/a&gt;
 that the &lt;a href="https://www.youtube.com/watch?v=Jh79ojcror0" target="_blank" rel="noopener noreferrer"&gt;visuals of his Devoxx presentation&lt;/a&gt;
 are created with JavaFX.&lt;/li&gt;
&lt;li&gt;You can read more about JavaFX Nodes versus Canvas experiments by &lt;strong&gt;Frank Delporte&lt;/strong&gt; in the &lt;a href="https://entwickler.de/java/javafx-nodes-versus-canvas" target="_blank" rel="noopener noreferrer"&gt;German JavaMagazin edition 12.2024&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.linkedin.com/posts/seanmiphillips_projected-volumetric-detection-method-applied-activity-7256695177157689345-2Okp/" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Sean Phillips&lt;/strong&gt; shared on LinkedIn&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;Applying 3D Projected Volumetric Detection method to the Biden Robocall Deep Fake. &amp;hellip; Caveats to this demonstration are that this was clearly a controlled experiment and importantly is a qualitative manual process. However it is clear the potential of the method and with sufficient further development could be largely automated.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.linkedin.com/pulse/microprofile-ai-jakarta-ee-12-data-whats-new-java-jvm-skowro%C5%84ski-ihd2f/" target="_blank" rel="noopener noreferrer"&gt;JVM Weekly vol. 106 by Artur Skowroński&lt;/a&gt;
 has a section &amp;ldquo;What Does Java UI Development Look Like in 2024?&amp;rdquo; which includes, of course, JavaFX:
&lt;ul&gt;
&lt;li&gt;&amp;ldquo;&lt;em&gt;How could we skip JavaFX, especially with a new and interesting application in this technology?&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&amp;ldquo;&lt;em&gt;&lt;a href="https://github.com/jtaccuino/jtaccuino" target="_blank" rel="noopener noreferrer"&gt;JTaccuino&lt;/a&gt;
 is a notebook developed for Java programmers, allowing users to interactively experiment with code.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&amp;ldquo;&lt;em&gt;The DeepNets project, which is a reference implementation of JSR 381, recently &lt;a href="https://x.com/DeepNetts/status/1835292030315995390" target="_blank" rel="noopener noreferrer"&gt;boasted new tooling enhancements&lt;/a&gt;
.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://bsky.app/profile/catgirlin.space/post/3l7u33iijn42k" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;saige!&lt;/strong&gt; shared on Bluesky&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;I made a little animation in JavaFX. Gonna try and convince my group that we should use it for our project as a loading screen.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://x.com/Anthony_Goubard/status/1853791630815277332" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Anthony Goubard&lt;/strong&gt; shared a screenshot&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;New in the IDE plugin &amp;lsquo;Applet Runner&amp;rsquo;: JavaFXApplet and SceneApplet classes to run a JavaFX application (or scene) embedded in your IDE. See the demo of TilesFX from &lt;strong&gt;Gerrit Grunwald&lt;/strong&gt; running in IntelliJ IDEA.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;You want to find even more &amp;ldquo;JavaFX Goodies&amp;rdquo; than you can find on JFX Central? Head over to the &lt;a href="https://github.com/mhrimaz/AwesomeJavaFX" target="_blank" rel="noopener noreferrer"&gt;AwesomeJavaFX repository on GitHub&lt;/a&gt;
, started by &lt;a href="https://x.com/mhrimaz" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Hossein Rimaz&lt;/strong&gt;&lt;/a&gt;
 and &lt;a href="https://github.com/mhrimaz/AwesomeJavaFX/graphs/contributors" target="_blank" rel="noopener noreferrer"&gt;extended by many others&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://x.com/jpro_one/status/1859539536524578973" target="_blank" rel="noopener noreferrer"&gt;JPro, bringing Java to the browser&lt;/a&gt;
, is following the Java &amp;ldquo;release train&amp;rdquo;: &amp;ldquo;&lt;em&gt;As of JPro 2024.4, JavaFX 23 is now supported and set as the default version. Browser tabs now reflect the JavaFX stage&amp;rsquo;s title and favicon, and more! Catch up on the &lt;a href="https://www.jpro.one/docs/current/3.1/2024.4.X" target="_blank" rel="noopener noreferrer"&gt;latest updates here&lt;/a&gt;
&lt;/em&gt;.&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://x.com/orango_mango/status/1857923838195151223" target="_blank" rel="noopener noreferrer"&gt;A video by &lt;strong&gt;OrangoMango&lt;/strong&gt;&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;The start of a new project: Mandelbrot set visualization. Still not perfect, it has some small issues. 🙂&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://x.com/mwigojm/status/1858842708611125690" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Jonathan Mark Mwigo&lt;/strong&gt; shared a screenshot&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;JavaFX Modern Sales ERP Dashboard. Excited to see it go live! 🚀💻&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://bsky.app/profile/polypragmatist.bsky.social/post/3lbte3cvxvs2p" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;polypragmatist&lt;/strong&gt; is very active promoting JavaFX on Bluesky&lt;/a&gt;
, for instance: &amp;ldquo;&lt;em&gt;JavaFX is 100% a reactive declarative UI development library. No FXML required. The Observables facility is tightly integrated into the UI components and makes React look clunky in comparison. Last I looked, Java supported loops and conditionals. JavaFX works great with Kotlin too.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://bsky.app/profile/johanvos.bsky.social/post/3lbr6rz6qoc2v" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Johan Vos&lt;/strong&gt; is testing bld to replace Maven&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;Did a first project using bld. Works great, and I love the &amp;rsquo;no auto-magical behavior&amp;rsquo;. I need a deeper look to see how to deal with platform-specific jars at runtime, e.g. JavaFX, where we currently use a maven plugin to deal with this.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-8-jfx-central"&gt;JFX Central&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;JFX Central is now also on Bluesky: &lt;a href="https://bsky.app/profile/jfxcentral.com" target="_blank" rel="noopener noreferrer"&gt;@jfxcentral.com&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://x.com/dlemmermann/status/1853719535901122837" target="_blank" rel="noopener noreferrer"&gt;Message from &lt;strong&gt;Dirk Lemmermann&lt;/strong&gt;&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;JFX Central is now available as a web app, a desktop app, and an iOS application (via Gluon). We still need to get it into the Google Play Store. Anyone up for the job? If any code changes are required I could work on that. I just need somebody to take over the deployment part to the Play Store. I do not feel at home at all in the Android space 🙂&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;The overview of the September Links Of The Week is &lt;a href="https://foojayio.github.io/website/today/javafx-links-of-october-2024/"&gt;published on Foojay&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;New content:
&lt;ul&gt;
&lt;li&gt;Video: &lt;a href="https://www.jfx-central.com/videos/3_T0LDZ-Wt4" target="_blank" rel="noopener noreferrer"&gt;JavaFX In Action with Özkan Pakdil about Swaggerific&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Video: &lt;a href="https://www.jfx-central.com/videos/Vw9S9uuPTlQ" target="_blank" rel="noopener noreferrer"&gt;JavaFX In Action with Clément de Tastes about QuarkusFX&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Video series “JavaFX In Action”, Part 2</title><link>https://foojayio.github.io/website/today/video-series-javafx-in-action-part-2/</link><pubDate>Fri, 22 Nov 2024 14:31:11 +0000</pubDate><guid>https://foojayio.github.io/website/today/video-series-javafx-in-action-part-2/</guid><description>&lt;p&gt;In &lt;a href="https://foojayio.github.io/website/today/new-video-series-javafx-in-action-part-1/"&gt;July, we published the first part, which included four interviews&lt;/a&gt;
 with Pedro Duque Vieira, Daniel Zimmermann, Christopher Schnick, and Robert Ladstätter.&lt;/p&gt;
&lt;p&gt;In this part, we have four new interviews for you! Learn more about JavaFX combined with Scala, Swing, React, trains, scientific research, banking, and more&amp;hellip;&lt;/p&gt;
&lt;h2 id="h2-0-maciej-gorywoda-about-fxcalculator"&gt;Maciej Gorywoda about FxCalculator&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://www.linkedin.com/in/mgorywoda/" target="_blank" rel="noopener noreferrer"&gt;Maciej Gorywoda&lt;/a&gt;
 is the product marketing manager for the IntelliJ Scala team at JetBrains. As a Scala Ambassador, he teaches Scala and makes its community more beginner-friendly. He is also self-publishing a fantasy novel.&lt;/p&gt;</description></item><item><title>JavaFX Links of October 2024</title><link>https://foojayio.github.io/website/today/javafx-links-of-october-2024/</link><pubDate>Mon, 28 Oct 2024 18:19:34 +0000</pubDate><guid>https://foojayio.github.io/website/today/javafx-links-of-october-2024/</guid><description>&lt;p&gt;Here is the overview of the JavaFX LinksOfTheMonth of October 2024, published on &lt;a href="https://www.jfx-central.com/" target="_blank" rel="noopener noreferrer"&gt;jfx-central.com&lt;/a&gt;
 during this month. With some very nice new content for JFX Central itself, see at end of the list&amp;hellip;&lt;/p&gt;
&lt;p&gt;Did we miss anything? Is there anything you want to have included in one of the next overviews?&lt;/p&gt;
&lt;p&gt;Let us know via &lt;a href="https://foojayio.github.io/website/cdn-cgi/l/email-protection"&gt;[email protected]&lt;/a&gt;
.&lt;/p&gt;
&lt;h2 id="h2-1-core"&gt;Core&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Message from &lt;strong&gt;Kevin Rushforth&lt;/strong&gt; in the &lt;a href="https://foojayio.github.io/website/cdn-cgi/l/email-protection"&gt;[email protected]&lt;/a&gt;
 mailing list that shows how OpenJDK and OpenJFX keep being aligned thanks to the 6-months release cycle: &amp;ldquo;&lt;em&gt;I propose to remove support for running JavaFX applications with a security manager in JavaFX 24. Any JavaFX application that uses a security manager will necessarily need to use JDK 21.x LTS going forward, and thus can similarly use JavaFX 21.x LTS.&lt;/em&gt; &amp;quot;
&lt;ul&gt;
&lt;li&gt;See &lt;a href="https://bugs.openjdk.org/browse/JDK-8341090" target="_blank" rel="noopener noreferrer"&gt;JDK-8341090&lt;/a&gt;
: &amp;ldquo;The Java Security Manager was deprecated for removal in JDK 17 by &lt;a href="https://openjdk.org/jeps/411" target="_blank" rel="noopener noreferrer"&gt;JEP 411&lt;/a&gt;
.&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Artur Skowronski&lt;/strong&gt; highlights in his &lt;a href="https://www.jvm-weekly.com/p/what-will-jdk-24-bring-jvm-weekly" target="_blank" rel="noopener noreferrer"&gt;JVM Weekly newsletter&lt;/a&gt;
 some JavaFX facts:
&lt;ul&gt;
&lt;li&gt;&lt;em&gt;&lt;a href="https://github.com/openjdk/jfx/blob/master/doc-files/release-notes-23.md" target="_blank" rel="noopener noreferrer"&gt;JavaFX 23 announced by Kevin Rushforth&lt;/a&gt;
 has hit the scene and brought with it a warning: &amp;ldquo;It&amp;rsquo;s time to update.&amp;rdquo; JavaFX has dropped support for older versions and will now require JDK 21.&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Oracle has &lt;a href="https://www.oracle.com/java/technologies/java-se-support-roadmap.html" target="_blank" rel="noopener noreferrer"&gt;announced that support for JavaFX in JDK 8&lt;/a&gt;
, the last version they released, will end in March next year.&lt;/em&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://x.com/SamNaFX/status/1817528341194252682" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;SamFx&lt;/strong&gt; happily announced the merge of his first pull request into the OpenJFX code&lt;/a&gt;
 to fix &amp;ldquo;&lt;em&gt;Push Notification fails on Android when app closed&lt;/em&gt;.&amp;rdquo;&lt;/li&gt;
&lt;li&gt;Just a tip: keep an eye on &lt;a href="https://github.com/openjdk/mobile" target="_blank" rel="noopener noreferrer"&gt;github.com/openjdk/mobile&lt;/a&gt;
. It&amp;rsquo;s a project to bring more mobile support to the OpenJDK. This will, once integrated, make it easier to support JavaFX on even more (mobile) platforms.&lt;/li&gt;
&lt;li&gt;In an article on The New Stack, &lt;a href="https://thenewstack.io/end-of-the-road-for-javafx-in-jdk-8-keeping-your-apps-alive/" target="_blank" rel="noopener noreferrer"&gt;&amp;ldquo;End of the Road for JavaFX in JDK 8: Keeping Your Apps Alive&amp;rdquo;&lt;/a&gt;
, &lt;strong&gt;Frank Delporte&lt;/strong&gt; alerts users of Oracle Java 8 builds with OpenJFX: &amp;ldquo;&lt;em&gt;From April 2025 and onward, if you are using JavaFX, you need to find an alternative distribution if you&amp;rsquo;d like to continue to receive security updates.&lt;/em&gt; &amp;quot;
&lt;ul&gt;
&lt;li&gt;The same message on the &lt;a href="https://www.azul.com/blog/azul-is-here-to-help-you-with-javafx-8-changes-in-2025/" target="_blank" rel="noopener noreferrer"&gt;Azul Blog&lt;/a&gt;
.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-2-scenebuilder"&gt;SceneBuilder&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://techhub.social/@gluonhq/113236888001051050" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Gluon&lt;/strong&gt; shared a screenshot&lt;/a&gt;
 of the number of downloads of Scene Builder: &amp;ldquo;&lt;em&gt;Note how fast the adoption of Scene Builder 23 is! Work on 24 is in full-speed now.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-3-applications"&gt;Applications&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://x.com/i_am_arkutu/status/1841480908492128687" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Arkutu&lt;/strong&gt; shared a video&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;Progress so far building my healthcare desktop application using JavaFX, Spring Boot, and MySQL! So far, I&amp;rsquo;ve completed the login and main home page. Now, I&amp;rsquo;m diving into creating and fetching patient data from the database. Stay tuned for more updates.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://x.com/DeepNetts/status/1842186222241825212" target="_blank" rel="noopener noreferrer"&gt;Message from &lt;strong&gt;Deep Netts - AI Java library&lt;/strong&gt;&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;Download the Java Deep Learning Library now and start building intelligent applications today. Get started quickly with powerful tools for machine learning and neural networks!&lt;/em&gt; &amp;quot;
&lt;ul&gt;
&lt;li&gt;Extract from the &lt;a href="https://www.deepnetts.com/deep-netts-3-1-1-has-been-released/" target="_blank" rel="noopener noreferrer"&gt;News Release&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;We&amp;rsquo;ve enhanced the debugging experience with new visualization tools that allow you to analyze weight statistics and explore network architectures in 3D space using JavaFX. These tools provide deeper insights into model behavior, helping you diagnose issues and optimize performance more effectively.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Two releases by &lt;strong&gt;Patrik Karlström&lt;/strong&gt; written in Java with JavaFX on the NetBeans Platform:
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://x.com/PatrikKarlstrom/status/1843362252004700202" target="_blank" rel="noopener noreferrer"&gt;CRIC 24.10&lt;/a&gt;
, the Custom Runtime Image Creator (with cross-targeting) for JDK jlink. &lt;a href="https://github.com/trixon/cric/releases/tag/v24.10" target="_blank" rel="noopener noreferrer"&gt;Get your copy at GitHub&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://x.com/PatrikKarlstrom/status/1842812263310205019" target="_blank" rel="noopener noreferrer"&gt;Mapollage 24.10.06&lt;/a&gt;
, the photo kml generator for Google Earth. &lt;a href="https://github.com/trixon/mapollage/releases/tag/v24.10.06" target="_blank" rel="noopener noreferrer"&gt;Get your copy at GitHub&lt;/a&gt;
.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://x.com/crschnick/status/1843960201688371493" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Christopher Schnick&lt;/strong&gt; shared a screenshot&lt;/a&gt;
 of the new icon chooser for selfhosted service icons in XPipe 12.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/thejvmbender/status/1845012826827456523" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Özkan Pakdil&lt;/strong&gt; shared&lt;/a&gt;
 a link to the &lt;a href="https://github.com/ozkanpakdil/swaggerific" target="_blank" rel="noopener noreferrer"&gt;sources of swaggerific&lt;/a&gt;
 a Postman alternative, written in JavaFX and built with GraalVM.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/stefanofago/status/1845178676477821298" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Stefano Fago&lt;/strong&gt; shared&lt;/a&gt;
 links to &lt;a href="https://github.com/jtaccuino/jtaccuino" target="_blank" rel="noopener noreferrer"&gt;the sources&lt;/a&gt;
 and &lt;a href="https://youtu.be/SMD5g0Fqn34" target="_blank" rel="noopener noreferrer"&gt;Devoxx presentation&lt;/a&gt;
 of JTaccuino: &amp;ldquo;&lt;em&gt;a JavaFX based notebook application for Java developers. It&amp;rsquo;s built for usages in education, interactive experimentation with algorithms &amp;amp; possible more advanced use cases&amp;hellip;&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.linkedin.com/posts/bj-delacruz_seattle-tacoma-international-airport-departures-activity-7254534029104844801-gJCx/" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;BJ Dela Cruz&lt;/strong&gt; shared screenshots of his Flight Display application&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;It can generate a list of arriving or departing flights for an airport you choose.&lt;/em&gt; &amp;quot; You can find the &lt;a href="https://bitbucket.org/bjpeterdelacruz/flight-display/src/main/" target="_blank" rel="noopener noreferrer"&gt;sources here&lt;/a&gt;
.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-4-games"&gt;Games&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://x.com/MarinoDev/status/1839806509254881340" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Marino&lt;/strong&gt; released a tiny unorthodox project&lt;/a&gt;
 from a year ago &lt;a href="https://marinodev.itch.io/wander-javafx" target="_blank" rel="noopener noreferrer"&gt;on itch&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;A dungeon crawler made in JavaFX, also featuring 1-bit pixelart. Based on Miziziziz&amp;rsquo;s &amp;lsquo;Roguelike in a day&amp;rsquo; video.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-5-components-libraries-tools"&gt;Components, Libraries, Tools&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Shared by &lt;strong&gt;Pedro Duke&lt;/strong&gt; :
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://x.com/P_Duke/status/1841874974702776404" target="_blank" rel="noopener noreferrer"&gt;A video of part 6 of work in progress on Transit Theme&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;New LIGHT and DARK styles for TabPane and TextArea.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://x.com/P_Duke/status/1844476360598991091" target="_blank" rel="noopener noreferrer"&gt;Part 7&lt;/a&gt;
 of the work in progress for the next release of the Transit Theme: &amp;ldquo;&lt;em&gt;New LIGHT and DARK styles for Menus, ContextMenu and Tooltip&lt;/em&gt;.&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&amp;ldquo;&lt;em&gt;Transit Theme next release, &lt;a href="https://x.com/P_Duke/status/1847993884355277286" target="_blank" rel="noopener noreferrer"&gt;PART 8&lt;/a&gt;
: New LIGHT and DARK styles for Color Picker, Titled Pane and Accordion.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://x.com/carldea/status/1843165765446627745" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Carl Dea&lt;/strong&gt; published&lt;/a&gt;
 a simple finite state machine library called &lt;a href="https://github.com/carldea/axonic" target="_blank" rel="noopener noreferrer"&gt;Axonic version 0.0.2&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;I plan to use it in complex UI/UX scenarios&lt;/em&gt;&amp;rdquo;.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.reddit.com/r/JavaFX/comments/1g12cz6/announcing_devtoolsfx/" target="_blank" rel="noopener noreferrer"&gt;Announced on Reddit: DevToolsFX&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;Originally intended to fix long-standing bugs in Scenic View, it has been completely rewritten from scratch. Modern Java, reduced and more maintainable codebase with clear model/UI separation, only depends on javafx.controls,&amp;hellip;&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/dlemmermann/status/1845793655056920772" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Dirk Lemmermann&lt;/strong&gt; shared a screenshot&lt;/a&gt;
= &amp;ldquo;&lt;em&gt;The email field in GemsFX now comes with an optional auto-completion feature for the domain part of the address.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://x.com/shannah78/status/1849566060644872258" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Steve Hannah&lt;/strong&gt;, the creator of jDeploy&lt;/a&gt;
 published a &lt;a href="https://jdeploy.substack.com/p/now-you-can-deploy-your-app-as-a" target="_blank" rel="noopener noreferrer"&gt;blog post&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;Now you can deploy your app as a DMG. The codesign process is painful, but if you really want to deploy your app as a DMG, you can do that now. &amp;hellip; some developers have expressed interest being able to deploy their apps as a .dmg, since this would be more familiar to users. Some developers also have their own Apple developer account, and would prefer to sign the app themselves rather than deploy using the jDeploy certificate. &amp;hellip;&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-6-podcasts-videos-books"&gt;Podcasts, Videos, Books&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Frank Delporte&lt;/strong&gt; published two new &amp;ldquo;JavaFX In Action&amp;rdquo; interviews:
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://webtechie.be/post/2024-10-01-jfxinaction-christoph-schwentker/" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Christoph Schwentker&lt;/strong&gt; about JabRef&lt;/a&gt;
, a tool written in Java and JavaFX to collect, organize, and discover literature for research projects.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://webtechie.be/post/2024-10-22-jfxinaction-ulas-ergin/" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Ulas Ergin&lt;/strong&gt; explains how his team at Credit Europe Bank uses JavaFX for two internal applications&lt;/a&gt;
. The first one is a developer tool. Based on the experience of building this first tool, they decided to use JavaFX to migrate an old Swing-based application. The new Java application combines the old Swing screens with new React user interfaces, all nicely styled and integrated thanks to JavaFX.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Two recordings from Devoxx Belgium talks:
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://x.com/JPeredaDnr" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Jose Pereda&lt;/strong&gt;&lt;/a&gt;
 and &lt;a href="https://x.com/SvenNB" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Sven Reimers&lt;/strong&gt;&lt;/a&gt;
 launched &lt;a href="https://www.youtube.com/watch?v=SMD5g0Fqn34" target="_blank" rel="noopener noreferrer"&gt;JTaccuino, a better Jupyter Experience for Java Developers&lt;/a&gt;
. You can find the &lt;a href="https://github.com/jtaccuino/jtaccuino" target="_blank" rel="noopener noreferrer"&gt;GitHub project here&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Vik and Frank Delporte&lt;/strong&gt; demonstrated &lt;a href="https://www.youtube.com/watch?v=xbaLjoTU49I" target="_blank" rel="noopener noreferrer"&gt;MelodyMatrix: Looking at Music, an experiment with Kotlin, JavaFX, MIDI, and Virtual Threads&lt;/a&gt;
. You can find the &lt;a href="https://melodymatrix.rocks/" target="_blank" rel="noopener noreferrer"&gt;application website here&lt;/a&gt;
.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/shorts/5LhUtEDPf5E" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Adam Bien&lt;/strong&gt; had a short talk with &lt;strong&gt;Johan Vos&lt;/strong&gt; at Devoxx&lt;/a&gt;
.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-7-tutorials"&gt;Tutorials&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Frank Delporte&lt;/strong&gt; published a new tutorial &lt;a href="https://webtechie.be/post/2024-10-02-javafx-maven-jar-template/" target="_blank" rel="noopener noreferrer"&gt;&amp;ldquo;Template project to build a JavaFX application as a JAR with dependencies with Maven&amp;rdquo;&lt;/a&gt;
 with the source code on GitHub, full explanation in the blog, and a video walk-through on YouTube.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://x.com/Loic__Lefevre/status/1848390393252987106" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Loïc Lefèvre&lt;/strong&gt; hopes we like&lt;/a&gt;
 this post, and sure we do ;-): &amp;ldquo;&lt;em&gt;Finally finished &lt;a href="https://medium.com/db-one/building-javafx-app-native-image-with-graalvm-new-achievement-unlocked-c5e236ecf11d" target="_blank" rel="noopener noreferrer"&gt;this post about creating native images for JavaFX applications using GraalVM&lt;/a&gt;
. There is a &lt;a href="https://github.com/loiclefevre/javafx-native" target="_blank" rel="noopener noreferrer"&gt;GitHub repository&lt;/a&gt;
 at the end.&lt;/em&gt; &amp;quot; Intro from the blog post: &amp;ldquo;&lt;em&gt;TL;DR &amp;mdash; Building JavaFX application native image used to require GluonFX plugins and GluonHQ substrate VM. In this post, I show it is possible to rely on the latest GraalVM distribution only. This simplifies greatly the process but requires some challenges to be solved first&amp;hellip; are you ready to read my journey?&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-8-miscellaneous"&gt;Miscellaneous&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Some JavaFX love on Twitter:
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://x.com/im_saichowdary/status/1842032245277696306" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;SAI CHOWDARY&lt;/strong&gt; shared some key aspects of Java in front-end development&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Reaction by &lt;a href="https://x.com/ABprakash01/status/1842069633542848813" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Bhanu&lt;/strong&gt;&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;That&amp;rsquo;s great info! JavaFX is indeed a powerful tool for creating dynamic desktop applications with impressive UI features like graphics and animations. It&amp;rsquo;s a game-changer for front-end development!&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;In a long thread, &lt;a href="https://x.com/21stCompTech/status/1839657037896056852" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;21st Computer Tech&lt;/strong&gt;&lt;/a&gt;
 compares Java and Python GUIs with this nice remark about Community &amp;amp; Support: &amp;ldquo;&lt;em&gt;Java has a large and active community for both Swing and JavaFX, with extensive documentation and examples available online.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Blog post by &lt;strong&gt;Frank Delporte&lt;/strong&gt; : &lt;a href="https://thenewstack.io/end-of-the-road-for-javafx-in-jdk-8-keeping-your-apps-alive/" target="_blank" rel="noopener noreferrer"&gt;End of the Road for JavaFX in JDK 8: Keeping Your Apps Alive&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;Oracle will end support for JavaFX in JDK 8 next March and will stop providing Java 8 builds with OpenJFX included, as explained in the Oracle Java SE Support Roadmap. This means that from April 2025 and onward, if you are using JavaFX, you need to find an alternative distribution if you&amp;rsquo;d like to continue to receive security updates.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/Heimbuchner_J/status/1845451366484914516" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Homebookner&lt;/strong&gt; is looking for help&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;I&amp;rsquo;am currently implementing a simple workspace control. I&amp;rsquo;m using splitpanes for the content, but when hiding and showing content in the splitpane, the divider jumps around. It seems not to happen, if the system setting for screen zoom is at 100%. Ideas?&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://x.com/Stephan007/status/1848775499578794017" target="_blank" rel="noopener noreferrer"&gt;AI is coding and controlling the computer for &lt;strong&gt;Stephan Janssen&lt;/strong&gt;&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;An experimental AnthropicAI Claude agent takes control of my screen, autonomously doing whatever is needed to get the job done. &amp;hellip; Now develops the same but using JavaFX (which it needs to install) and run 🔥🧠.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-9-jfx-central"&gt;JFX Central&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;The overview of the links of September got &lt;a href="https://foojayio.github.io/website/today/javafx-links-of-september-2024/"&gt;published on Foojay.io&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;New content:
&lt;ul&gt;
&lt;li&gt;People: &lt;a href="https://www.jfx-central.com/people/c.detastes" target="_blank" rel="noopener noreferrer"&gt;Clément de Tastes&lt;/a&gt;
, Java &amp;amp; JavaFX enthusiast, Quarkus FX contributor, Tech writer and speaker.&lt;/li&gt;
&lt;li&gt;Library: &lt;a href="https://www.jfx-central.com/libraries/quarkusfx" target="_blank" rel="noopener noreferrer"&gt;QuarkusFX&lt;/a&gt;
, a Quarkus extension that allows you to use JavaFX in your Quarkus application.&lt;/li&gt;
&lt;li&gt;Video: &lt;a href="https://www.jfx-central.com/videos/-ddFxwh2U6E" target="_blank" rel="noopener noreferrer"&gt;JavaFX In Action with Christoph Schwentker about JabRef&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Video: &lt;a href="https://www.jfx-central.com/videos/djbC7zWc-2w" target="_blank" rel="noopener noreferrer"&gt;JavaFX In Action with Ulas Ergin about internal banking apps&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Learn: &lt;a href="https://www.jfx-central.com/learn-javafx/fat-jar" target="_blank" rel="noopener noreferrer"&gt;Template project to build a JAR with dependencies with Maven&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Learn: &lt;a href="https://www.jfx-central.com/learn-javafx/quarkusfx" target="_blank" rel="noopener noreferrer"&gt;Using JavaFX in your Quarkus application&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>JavaFX Links of September 2024</title><link>https://foojayio.github.io/website/today/javafx-links-of-september-2024/</link><pubDate>Mon, 30 Sep 2024 02:00:00 +0000</pubDate><guid>https://foojayio.github.io/website/today/javafx-links-of-september-2024/</guid><description>&lt;p&gt;Here is the overview of the JavaFX LinksOfTheMonth of September 2024, published on &lt;a href="https://www.jfx-central.com/" target="_blank" rel="noopener noreferrer"&gt;jfx-central.com&lt;/a&gt;
 during this month.&lt;/p&gt;
&lt;p&gt;Did we miss anything? Is there anything you want to have included in one of the next overviews? Let us know via &lt;a href="https://foojayio.github.io/website/cdn-cgi/l/email-protection"&gt;[email protected]&lt;/a&gt;
.&lt;/p&gt;
&lt;p&gt;A lot of milestones this month&amp;hellip;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;em&gt;&lt;strong&gt;Java and JavaFX 23&lt;/strong&gt;&lt;/em&gt; were released!&lt;/li&gt;
&lt;li&gt;The &lt;em&gt;&lt;strong&gt;100th JavaFX Links Of The Week&lt;/strong&gt;&lt;/em&gt; was published on &lt;a href="https://www.jfx-central.com/links" target="_blank" rel="noopener noreferrer"&gt;jfx-central.com/links&lt;/a&gt;
!&lt;/li&gt;
&lt;li&gt;The &lt;em&gt;&lt;strong&gt;release of the iOS JFX Central App&lt;/strong&gt;&lt;/em&gt;!&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;More info and links below in this overview&amp;hellip;&lt;/p&gt;</description></item><item><title>Azul Brings Java from Edge to Cloud</title><link>https://foojayio.github.io/website/today/azul-brings-java-from-edge-to-cloud/</link><pubDate>Fri, 27 Sep 2024 11:30:22 +0000</pubDate><guid>https://foojayio.github.io/website/today/azul-brings-java-from-edge-to-cloud/</guid><description>&lt;p&gt;In Part 1 of this series, &amp;ldquo;&lt;a href="https://foojayio.github.io/website/today/a-fresh-look-at-embedded-java/"&gt;A Fresh Look at Embedded Java&lt;/a&gt;
,&amp;rdquo; we explored the use of Java for embedded use cases.&lt;/p&gt;
&lt;p&gt;Azul and its Zulu Build of OpenJDK (Zulu) are the ideal partners in this part of the software world.&lt;/p&gt;
&lt;p&gt;Let&amp;rsquo;s expand and look at the cloud part of a typical end-to-end solution with sensors, edge devices, client applications, and cloud services.
&lt;img src="https://foojayio.github.io/website/today/azul-brings-java-from-edge-to-cloud/edge-diagram.png" alt="" loading="lazy"&gt;
&lt;/p&gt;
&lt;h2 id="Azul-Platform-Core-for-Edge-Devices-and-Client-Applications"&gt;Azul Platform Core for edge devices and client applications&lt;/h2&gt;
&lt;p&gt;Because Java delivers fast development speed thanks to its amazing methods and tools and its impressive performance in handling massive amounts of data, it&amp;rsquo;s the ideal programming language for building applications for edge devices that collect data from various sensors.&lt;/p&gt;</description></item><item><title>JavaFX Links of August 2024</title><link>https://foojayio.github.io/website/today/javafx-links-of-august-2024/</link><pubDate>Mon, 02 Sep 2024 08:22:33 +0000</pubDate><guid>https://foojayio.github.io/website/today/javafx-links-of-august-2024/</guid><description>&lt;p&gt;Here is the overview of the JavaFX LinksOfTheMonth of August 2024, published on &lt;a href="https://www.jfx-central.com/" target="_blank" rel="noopener noreferrer"&gt;jfx-central.com&lt;/a&gt;
 during this month. Did we miss anything? Is there anything you want to have included in one of the next overviews? Let us know via &lt;a href="https://foojayio.github.io/website/cdn-cgi/l/email-protection"&gt;[email protected]&lt;/a&gt;
.&lt;/p&gt;
&lt;h2 id="h2-0-core"&gt;Core&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://x.com/P_Duke/status/1818672219419025743" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Pedro Duke shared&lt;/strong&gt;&lt;/a&gt;
: &amp;ldquo;RichTextArea control is now available for testing &lt;a href="https://github.com/andy-goryachev-oracle/Test/blob/main/doc/RichTextArea/RichTextArea.md" target="_blank" rel="noopener noreferrer"&gt;in the JavaFX incubator module&lt;/a&gt;
. Also includes CodeArea control. You can find the &lt;a href="https://cr.openjdk.org/~angorya/RichTextArea/javadoc/jfx.incubator.richtext/module-summary.html" target="_blank" rel="noopener noreferrer"&gt;JavaDoc here&lt;/a&gt;
.&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://mastodon.social/@johanvos/112887802923547314" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Johan Vos&lt;/strong&gt; shared a screenshot&lt;/a&gt;
: &amp;ldquo;Making progress. Running Java 23 and JavaFX 24-ea on an iPhone. Thanks to OpenJDK/mobile and Gluon tools.&amp;rdquo;&lt;/li&gt;
&lt;li&gt;A &lt;a href="https://gist.github.com/mstr2/f416996caf48e11193f0b6a5883a3926" target="_blank" rel="noopener noreferrer"&gt;proposal is available on GitHub for a new JavaFX CSS parser&lt;/a&gt;
. It got &lt;a href="https://mail.openjdk.org/pipermail/openjfx-dev/2024-August/048789.html" target="_blank" rel="noopener noreferrer"&gt;discussed on the openjfx-dev mailing list&lt;/a&gt;
, check it out if you want to share your ideas.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-1-applications"&gt;Applications&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Frank Delporte&lt;/strong&gt; got challenged by his 14-year-old son &lt;strong&gt;Vik&lt;/strong&gt; to create an app to &lt;em&gt;look at music&lt;/em&gt; : &amp;ldquo;Vik hopes to become rich, while I took it as a challenge to learn more about MIDI and make my first Kotlin application. There is still much work to do, but I just &lt;a href="https://www.youtube.com/watch?v=tR4PL8ufiDw" target="_blank" rel="noopener noreferrer"&gt;published this video with a status update&lt;/a&gt;
. More info is on &lt;a href="https://melodymatrix.rocks/" target="_blank" rel="noopener noreferrer"&gt;melodymatrix.rocks&lt;/a&gt;
.&amp;rdquo; Some parts of the code is &lt;a href="https://github.com/codewriterbv/melodymatrix-app-views" target="_blank" rel="noopener noreferrer"&gt;opensource on GitHub&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://x.com/crschnick/status/1816788292563616004" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Christopher Schnick&lt;/strong&gt; announced&lt;/a&gt;
: &amp;ldquo;Native window themes on macOS with JavaFX. Now finally released in XPipe 10.2!&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://blog.jabref.org/2024/08/21/AI-chatting/" target="_blank" rel="noopener noreferrer"&gt;JabRef is introducing AI features&lt;/a&gt;
: &amp;ldquo;Tired of reading through all the papers? Let AI generate a summary for you, or use it to &amp;lsquo;chat&amp;rsquo; with your papers! Either connect with existing AI providers or use a local LLM installation. Check out the new feature, one of our GSOC contributors is currently working on. We use jvm-openai &amp;amp; Deep Java Library (DJL).&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://x.com/makingthematrix/status/1818604980372226292" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Maciek Gorywoda&lt;/strong&gt;&lt;/a&gt;
 wrote a &lt;a href="https://play.google.com/store/apps/details?id=scalaonandroid.fxcalculator&amp;amp;hl=en" target="_blank" rel="noopener noreferrer"&gt;calculator app for Android&lt;/a&gt;
: &amp;ldquo;It&amp;rsquo;s GraalVM NI + Scala 3 + JavaFX. The &lt;a href="https://github.com/makingthematrix/scalaonandroid/tree/main/fxcalculator" target="_blank" rel="noopener noreferrer"&gt;sources are here&lt;/a&gt;
.&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-2-games"&gt;Games&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://x.com/orango_mango/status/1817680477370876020" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;OrangoMango&lt;/strong&gt; shared a video&lt;/a&gt;
: &amp;ldquo;Minesweeper in Java with the JavaFX framework. A small prototype, I will add very soon some new small features and minor stuff.&amp;rdquo;
&lt;ul&gt;
&lt;li&gt;And another one: &amp;ldquo;Image Builder Puzzle Game&amp;rdquo;, with a &lt;a href="https://youtube.com/shorts/orP_T_OnBR4?feature=share" target="_blank" rel="noopener noreferrer"&gt;YouTube shorts video&lt;/a&gt;
 and the &lt;a href="https://github.com/OrangoMango/ImageBuilder" target="_blank" rel="noopener noreferrer"&gt;GitHub sources&lt;/a&gt;
.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://x.com/SeanMiPhillips/status/1823006985341555178" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Sean Phillips&lt;/strong&gt; shared screenshots of Hedgemony AI Strategy and Policy&lt;/a&gt;
: &amp;ldquo;Strategy and Policy development game using Large Language Models for event generation and table top adjudication. The future of AI Wargaming coming soon. :-)&amp;rdquo; Check out &lt;a href="https://x.com/SeanMiPhillips" target="_blank" rel="noopener noreferrer"&gt;his feed&lt;/a&gt;
 for more screenshots and info about it.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-3-components-libraries-tools"&gt;Components, Libraries, Tools&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://x.com/dlemmermann/status/1825877587077345548" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Dirk Lemmermann&lt;/strong&gt; shared&lt;/a&gt;
: &amp;ldquo;The new TextView control in &lt;a href="https://github.com/dlsc-software-consulting-gmbh/GemsFX" target="_blank" rel="noopener noreferrer"&gt;GemsFX&lt;/a&gt;
 now supports proper text selection equivalent to the way users can select text in the TextArea control. Big shout out to the AtlantaFX developer for providing me with the crucial bits and pieces to make it work.&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://x.com/P_Duke/status/1819356682457137601" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Pedro Duke&lt;/strong&gt; shared a video&lt;/a&gt;
: &amp;ldquo;Working on the next release of Transit Theme. Created a new sampler app (using FXComponents NavigationPane), and changed Button appearance along with extra Button styles.&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-4-tutorials"&gt;Tutorials&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://x.com/java/status/1828069916760498257" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Java&lt;/strong&gt; on Twitter&lt;/a&gt;
 shared: &amp;ldquo;Check out this &lt;a href="https://dev.java/learn/javafx-animations/" target="_blank" rel="noopener noreferrer"&gt;intro to JavaFX animations&lt;/a&gt;
 by &lt;a href="https://twitter.com/SquidXTV" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Connor Schweighöfer&lt;/strong&gt;&lt;/a&gt;
.&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-5-miscellaneous"&gt;Miscellaneous&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Posts by &lt;strong&gt;Frank Delporte&lt;/strong&gt; :
&lt;ul&gt;
&lt;li&gt;On the Azul blog: &lt;a href="https://www.azul.com/blog/running-javafx-applications-on-arm-with-azul-zulu/" target="_blank" rel="noopener noreferrer"&gt;Running JavaFX applications on ARM with Azul Zulu&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;On Foojay, the website for the Friends Of OpenJDK: &lt;a href="https://foojayio.github.io/website/today/javafx-nodes-versus-canvas/"&gt;JavaFX Nodes versus Canvas&lt;/a&gt;
.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://x.com/Igfasouza/status/1816817407857479692" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Igor De Souza&lt;/strong&gt; created a simple JavaFX Hello-world drawing the Olympic Game logo&lt;/a&gt;
. Sources on &lt;a href="https://github.com/igfasouza/JavaFx-olympic-games-" target="_blank" rel="noopener noreferrer"&gt;GitHub&lt;/a&gt;
.
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://x.com/Igfasouza/status/1818609277969272873" target="_blank" rel="noopener noreferrer"&gt;And &lt;strong&gt;Igor&lt;/strong&gt; also shared a video&lt;/a&gt;
 : &amp;ldquo;Did you know that you can run JavaFX with Quarkus? A simple Quarkus-fx demo. Running on Raspberry Pi a JavaFX Quarkus traffic light demo.&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://x.com/konczdev/status/1804591278073532624" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;@konczdev&lt;/strong&gt; shared a video&lt;/a&gt;
: &amp;ldquo;A little fun with Java 22, JavaFX and Project Panama. Modified JavaFX window with a custom JavaFX title bar without any refection, JNI, JNA or native code.&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://x.com/Zayyad_MS" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Zayyad Muhammad Sani&lt;/strong&gt;&lt;/a&gt;
 shared a &lt;a href="https://www.youtube.com/watch?v=iME6boIrT4A" target="_blank" rel="noopener noreferrer"&gt;video of DSAViz&lt;/a&gt;
, an algorithm visualiser built for his final undergraduate project, with JavaFX, SceneBuilder, and FXML. The sources are &lt;a href="https://github.com/Z-MS/DSAViz-Java" target="_blank" rel="noopener noreferrer"&gt;available on GitHub&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://x.com/tbeernot/status/1822536096158265392" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Tom Eugelink&lt;/strong&gt; shared on Twitter&lt;/a&gt;
: &amp;ldquo;I&amp;rsquo;ve been doing some JavaFX development again, writing a small application - just controls, no fancy visuals. And I have to say that the development experience is nice; FXML, controllers, IDE support. JavaFX is very under appreciated by the java community.&amp;rdquo; Check the full thread for more info about combining Quarkus and JavaFX.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://x.com/orango_mango/status/1819694644612972606" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;OrangoMango&lt;/strong&gt; shared a video&lt;/a&gt;
: &amp;ldquo;Solar system simulation made in Java with the JavaFX framework. Still a prototype for now, finally got Newton&amp;rsquo;s gravitational law working 😄. The sun is not a planet, I know, it&amp;rsquo;s just an instance of the Planet class.&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://x.com/rumbletumblekid/status/1828092214096089550" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Rumble Tumble Kid&lt;/strong&gt; is experimenting with JavaFX + Scala&lt;/a&gt;
: &amp;ldquo;Scala is the only JVM language that lets you easily build a working fat jar without having to deal with stupid plugins that break or do not work half the time. To my surprise, it even works with JavaFX applications. jlink and jpackage should be next 😃&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-6-jfx-central"&gt;JFX Central&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;New library: &lt;a href="https://jfx-central.com/libraries/autumoui" target="_blank" rel="noopener noreferrer"&gt;autumo UI&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://x.com/dlemmermann/status/1828805263144390931" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Dirk Lemmermann&lt;/strong&gt; shared screenshots&lt;/a&gt;
: &amp;ldquo;The mobile version of JFX Central is on the finish line.&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Running JavaFX applications on ARM with Azul Zulu</title><link>https://foojayio.github.io/website/today/running-javafx-applications-on-arm-with-azul-zulu/</link><pubDate>Thu, 22 Aug 2024 08:51:57 +0000</pubDate><guid>https://foojayio.github.io/website/today/running-javafx-applications-on-arm-with-azul-zulu/</guid><description>&lt;p&gt;&lt;strong&gt;Since the April release of Azul Zulu Builds of OpenJDK, packages with JavaFX support for ARM 64-bit systems have been available.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;As ARM processors are the &amp;ldquo;core&amp;rdquo; of most embedded systems, these runtimes provide the additional benefit of bringing user interface development into the Java space. Having your full code base, from server to end device, based on the same Java code and dependencies, brings many improvements in total cost, development approach, and test and deployment strategies.&lt;/p&gt;</description></item><item><title>JavaFX Nodes versus Canvas</title><link>https://foojayio.github.io/website/today/javafx-nodes-versus-canvas/</link><pubDate>Wed, 07 Aug 2024 08:22:31 +0000</pubDate><guid>https://foojayio.github.io/website/today/javafx-nodes-versus-canvas/</guid><description>&lt;hr&gt;
&lt;p&gt;&lt;strong&gt;Recently I was working on an article about Azul Zulu with JavaFX support for ARM systems, like the Raspberry Pi. As you can see in &lt;a href="https://www.youtube.com/watch?v=XhDQvkcYJ88" target="_blank" rel="noopener noreferrer"&gt;this video&lt;/a&gt;
, I found out my little test application with a lot of &amp;ldquo;bouncing balls&amp;rdquo; started losing performance on the Raspberry Pi with more than 1000 of those balls.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Of course, having that high number of visual components in a typical JavaFX user interface would be a badly designed application. Imagine a long registration form with that number of input fields and labels&amp;hellip; it would drive your users crazy.&lt;/p&gt;</description></item><item><title>JavaFX Links of July 2024</title><link>https://foojayio.github.io/website/today/javafx-links-of-july-2024/</link><pubDate>Wed, 31 Jul 2024 17:54:43 +0000</pubDate><guid>https://foojayio.github.io/website/today/javafx-links-of-july-2024/</guid><description>&lt;p&gt;Here is the overview of the JavaFX LinksOfTheMonth of July 2024, published on &lt;a href="https://www.jfx-central.com/" target="_blank" rel="noopener noreferrer"&gt;jfx-central.com&lt;/a&gt;
 during this month.&lt;/p&gt;
&lt;h2 id="h2-0-core"&gt;Core&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;A message by &lt;strong&gt;Kevin Rushforth&lt;/strong&gt; on the &lt;a href="https://mail.openjdk.org/mailman/listinfo/openjfx-dev" target="_blank" rel="noopener noreferrer"&gt;[email protected]&lt;/a&gt;
 mailing list shows the Java/JavaFX release train is approaching the next station ;-): &amp;ldquo;Bump the version number of JavaFX to 24. I will integrate this to &lt;code&gt;master&lt;/code&gt; as part of forking the &lt;code&gt;jfx23&lt;/code&gt; stabilization branch, which is scheduled for Thursday, July 11, 2024 at 16:00 UTC.&amp;rdquo; We&amp;rsquo;re looking forward to the release of v23 in September!&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-1-applications"&gt;Applications&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://techhub.social/@thejvmbender/112693990775120413" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Özkan Pakdil&lt;/strong&gt; is working on an opensource alternative for Postman&lt;/a&gt;
: &amp;ldquo;I am looking for people to test or join, it&amp;rsquo;s in beta phase, but I am sure http get is working.&amp;rdquo; You can &lt;a href="https://github.com/ozkanpakdil/swaggerific" target="_blank" rel="noopener noreferrer"&gt;find it on GitHub&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;LogoRRR is now available for download in the &lt;a href="https://apps.microsoft.com/detail/xpdlk5t61gqwlt?cid=DevShareCLPCS&amp;amp;hl=en-us&amp;amp;gl=SE" target="_blank" rel="noopener noreferrer"&gt;Microsoft App Store&lt;/a&gt;
!&lt;/li&gt;
&lt;li&gt;&lt;a href="https://x.com/SeanMiPhillips/status/1808556671188545555" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Sean Phillips&lt;/strong&gt; shared a screenshot&lt;/a&gt;
: &amp;ldquo;New automatic Clustering features available from main branch of the Trinity 3D Visual Explainable AI tool. You can configure and asynchronously run multiple clustering algorithms in 3D, including DBSCAN, HDBSCAN, KMeans++, KMedoids Affinity Propagation, and more.&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.linkedin.com/posts/emad-hanif-00b4aa227_javafx-spring-rxjava-activity-7214316565842845697-Xk4M/" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Emad Hanif&lt;/strong&gt; shared a long description and video of Barcodify&lt;/a&gt;
: &amp;ldquo;Built with JavaFX, Spring Core and RxJava. This application empowers users to personalize every aspect, from color schemes and font sizes to margins and bar dimensions, delivering a comprehensive package with an elegant design. It currently supports 8 types of linear barcodes &amp;mdash; Code39, Code128, Codabar, Interleaved 2 of 5, UPC-A, UPC-E, EAN-8, and EAN-13.&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://x.com/crschnick/status/1806954732964966740" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Christopher Schnick&lt;/strong&gt; added native window styling to XPipe 10&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://x.com/xiongchun007/status/1808935782033600521" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Xiong Chun&lt;/strong&gt; shared progress in Datacollie&lt;/a&gt;
: &amp;ldquo;Tonight, the basic SQL query and result display of the SQL query window implemented. There are still many details to be improved in this module.&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Igor Azarny&lt;/strong&gt; released v2.5.5 of &lt;a href="http://gitgui.org/" target="_blank" rel="noopener noreferrer"&gt;Gitember, a cross platform graphical user interface for GIT&lt;/a&gt;
. You can find the &lt;a href="https://github.com/iazarny/gitember" target="_blank" rel="noopener noreferrer"&gt;sources on GitHub&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://foojay.social/@jabref/112797436287631234" target="_blank" rel="noopener noreferrer"&gt;JabRef announced release 5.15&lt;/a&gt;
 with &lt;a href="https://blog.jabref.org/2024/07/16/JabRef5-15/" target="_blank" rel="noopener noreferrer"&gt;a blog post&lt;/a&gt;
, &amp;ldquo;with binaries for Intel macs and fixes for Snap users. This release comes with some nice improvements for TeXLaTeX users and experimental support for using bst styles as preview.&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://x.com/WebFXProject/status/1815417115161121078" target="_blank" rel="noopener noreferrer"&gt;WebFX shared&lt;/a&gt;
 an app they are hosting at &lt;a href="https://meteo.webfx.dev" target="_blank" rel="noopener noreferrer"&gt;meteo.webfx.dev&lt;/a&gt;
: &amp;ldquo;It showcases some cool webfx features: Scene graph (no canvas), Charts, Dual CSS (javafx &amp;amp; web), I18n, Json, Web service, Java service, Local storage, Sound.&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://x.com/PatrikKarlstrom/status/1816016154852299111" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Patrik Karlström&lt;/strong&gt; shared screenshots&lt;/a&gt;
: &amp;ldquo;Bringing back the cron like scheduler to my JavaFX based rsync gui. Converting the old swing cron dialog was much less work than expected. JavaFX really do have nice things to offer!&amp;rdquo;&lt;/li&gt;
&lt;li&gt;Datacollie, the SQL UI by &lt;a href="https://x.com/xiongchun007/status/1816419820268605848" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Xiong Chun&lt;/strong&gt; looks more-and-more impressive&lt;/a&gt;
: &amp;ldquo;The paging model of the SQL query result is determined, and a toolbar is added to the result table.&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-2-games"&gt;Games&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://x.com/petkovicdev/status/1808533009831694720" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;5kovic&lt;/strong&gt; made Tetris&lt;/a&gt;
: &amp;ldquo;Music and background found on Google, links in comment section.&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://mastodon.social/@maehem/112747959541918758" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Mark J Koch&lt;/strong&gt; is reverse engineering the &amp;ldquo;Game of the Year&amp;rdquo; from 1989&lt;/a&gt;
: &amp;ldquo;Screen grab of browsing the sprites extracted from the Neuromancer PC .DAT files. They are stored as indexed color, RLE and Huffman encoded blobs of data. I wrote some Java code to extract/decompress/decode them from the file and write them to a &amp;lsquo;cache&amp;rsquo; directory as PNG files. The game came on two floppies and is still one of my favorites and I play it in a DOS emulator from time to time.&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://x.com/orango_mango/status/1812950078665204134" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;OrangoMango&lt;/strong&gt; made a game in 24h for the indiedevgamejam&lt;/a&gt;
: &amp;ldquo;Escape and drive on the highway as long as you can. By driving on the 2 leftmost lanes you get double score as well as driving fast.&amp;rdquo; You can play it on &lt;a href="https://orangomango.itch.io/milkywayescape" target="_blank" rel="noopener noreferrer"&gt;orangomango.itch.io/milkywayescape&lt;/a&gt;
.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-3-components-libraries-tools"&gt;Components, Libraries, Tools&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://x.com/P_Duke/status/1815390389974503934" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Pedro Duke&lt;/strong&gt; shared a video&lt;/a&gt;
: &amp;ldquo;A bunch of changes coming to Transit Theme&amp;hellip; One of them is that if you change it to Dark style it will also change the Window frame of where the theme is applied. (JavaFX always shows the Window frame in light color)&amp;rdquo;
&lt;ul&gt;
&lt;li&gt;And Pedro published a new post: &lt;a href="https://pixelduke.com/2024/07/24/transit-version-2-0-released/" target="_blank" rel="noopener noreferrer"&gt;&amp;ldquo;Transit Version 2.0 Released&amp;rdquo;&lt;/a&gt;
: &amp;ldquo;Styles work as User Agent Stylesheets like Modena (much easier to override) + True Dark Mode (Window frame also changes when set to Dark style).&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://x.com/dlemmermann/status/1816511301369331865" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Dirk Lemmermann&lt;/strong&gt; shared a screenshot of an implementation of the FlexGanttFX library&lt;/a&gt;
: &amp;ldquo;We use it in our energy CRM system to visualise the consumption data provided by the home-installed electricity smart meters of our customers. In addition, it shows the time when our backend services send a request to the meters to send their data and which time periods they requested.&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-4-podcasts-videos-books"&gt;Podcasts, Videos, Books&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Frank Delporte&lt;/strong&gt; published a &lt;a href="https://www.youtube.com/watch?v=XhDQvkcYJ88" target="_blank" rel="noopener noreferrer"&gt;video in which he experiments with the Azul Zulu runtimes with JavaFX support, JBang, and SDKMAN on a Raspberry Pi&lt;/a&gt;
 and a lot of colored circles.
&lt;ul&gt;
&lt;li&gt;Based on this experiment, he published an additional blog and video with a demo application to compare the performance between &lt;a href="https://webtechie.be/post/2024-07-22-javafx-nodes-versus-canvas/" target="_blank" rel="noopener noreferrer"&gt;thousands of Nodes versus drawing the same number of elements on a Canvas&lt;/a&gt;
: &amp;ldquo;On a Mac Studio, performance drops after 15k Nodes, versus 150k with Canvas.&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;YouTube Shorts by &lt;strong&gt;OrangoMango&lt;/strong&gt; :
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/shorts/2T3UNo5EVXg" target="_blank" rel="noopener noreferrer"&gt;Falling sand with JavaFX&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/shorts/iaOnGQj86lQ" target="_blank" rel="noopener noreferrer"&gt;Conway&amp;rsquo;s Game Of Life implementation in Java and JavaFX&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-5-tutorials"&gt;Tutorials&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;On dev.to, &lt;a href="https://dev.to/paulike" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Paul Ngugi&lt;/strong&gt; is publishing a blog series of JavaFX tutorials&lt;/a&gt;
.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-6-miscellaneous"&gt;Miscellaneous&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://x.com/phidias51/status/1809962623448023389" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Mark Fortner&lt;/strong&gt; replies&lt;/a&gt;
 to a message by &lt;a href="https://x.com/justinfagnani/status/1809709077150462075" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Justin Fagnani&lt;/strong&gt; about Flutter&lt;/a&gt;
: &amp;ldquo;It&amp;rsquo;s always interesting watching people re-invent the future. JavaFX has all of the features that you describe. Scenegraphs, multilanguage support, compiles to WASM, CSS. I think it really boils down to one&amp;rsquo;s willingness to get out of one&amp;rsquo;s comfort stack.&amp;rdquo;&lt;/li&gt;
&lt;li&gt;A new &lt;a href="https://x.com/crschnick/status/1809740192514793762" target="_blank" rel="noopener noreferrer"&gt;video by &lt;strong&gt;Christopher Schnick&lt;/strong&gt;&lt;/a&gt;
: &amp;ldquo;The JavaFX 22 platform preferences API in action with native window themes on Windows 11.&amp;rdquo;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://x.com/crschnick/status/1814024272295178515" target="_blank" rel="noopener noreferrer"&gt;Christopher also reports&lt;/a&gt;
: &amp;ldquo;Seems like JavaFX applications run fine on Windows ARM systems through the x86_64 compatibility layer.&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://x.com/hansolo_/status/1813616079769686335" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Gerrit Grunwald&lt;/strong&gt; shared a screenshot&lt;/a&gt;
 of a private project (&amp;ldquo;sorry not allowed to share&amp;hellip;&amp;rdquo;) which recreates the &lt;a href="https://www.qlocktwo.com/en-be/" target="_blank" rel="noopener noreferrer"&gt;QLOCKTWO&lt;/a&gt;
 in JavaFX.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://x.com/cbm64/status/1815503568897540159" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Chris&lt;/strong&gt; is wondering&lt;/a&gt;
: &amp;ldquo;Why are large displays in public spaces, including electronic ordering screens windows based?! It should be JavaFX territory running lightweight Linux on an SOC device.&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-7-jfx-central"&gt;JFX Central&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;The overview of the Links Of The Week of June are &lt;a href="https://foojayio.github.io/website/today/javafx-links-of-june-2024/"&gt;bundled on Foojay&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;New content:
&lt;ul&gt;
&lt;li&gt;Learn &amp;gt; JavaFX: &lt;a href="https://www.jfx-central.com/learn-javafx/nodes-versus-canvas" target="_blank" rel="noopener noreferrer"&gt;Comparing Nodes versus
Canvas&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;Learn &amp;gt; JavaFX on Raspberry Pi: &lt;a href="https://www.jfx-central.com/learn-raspberrypi/zulu-sdkman-jbang" target="_blank" rel="noopener noreferrer"&gt;Experiment with Azul Zulu, SDKMAN, and JBANG&lt;/a&gt;
.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://x.com/dlemmermann/status/1816486634260463781" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Dirk Lemmermann&lt;/strong&gt; shared this message with a screenshot&lt;/a&gt;
: &amp;ldquo;We are working on a mobile-only version of jfx-central.com. The routing framework and the development &amp;rsquo;environment&amp;rsquo; provided by &lt;a href="https://x.com/jpro_one" target="_blank" rel="noopener noreferrer"&gt;@jpro_one&lt;/a&gt;
 and &lt;a href="https://x.com/FlorianKirmaier" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Florian Kirmaier&lt;/strong&gt;&lt;/a&gt;
 helps a lot. It even allows us to simulate different phone resolutions.&amp;rdquo; Check all the commits by &lt;a href="https://x.com/LeeWyatt_7788" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Li Wang Yang&lt;/strong&gt;&lt;/a&gt;
 in the &lt;a href="https://github.com/dlsc-software-consulting-gmbh/jfxcentral2/commits/develop/" target="_blank" rel="noopener noreferrer"&gt;public GitHub repository&lt;/a&gt;
.&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
&lt;br /&gt;</description></item><item><title>New video series "JavaFX In Action", Part 1</title><link>https://foojayio.github.io/website/today/new-video-series-javafx-in-action-part-1/</link><pubDate>Tue, 16 Jul 2024 07:35:29 +0000</pubDate><guid>https://foojayio.github.io/website/today/new-video-series-javafx-in-action-part-1/</guid><description>&lt;p&gt;JavaFX is a powerful user interface framework, often overlooked in the world of desktop applications development. With this new series of video interviews, I want to take you behind-the-scenes of some applications built using JavaFX.&lt;/p&gt;
&lt;p&gt;JavaFX combines the best features of a modern user interface toolkit with the unparalleled strength of the Java platform. This approach enables you to perform heavy &amp;ldquo;background tasks&amp;rdquo;, like processing large amounts of data, while still providing a responsive user interface.&lt;/p&gt;</description></item><item><title>JavaFX Links of June 2024</title><link>https://foojayio.github.io/website/today/javafx-links-of-june-2024/</link><pubDate>Sun, 30 Jun 2024 07:07:56 +0000</pubDate><guid>https://foojayio.github.io/website/today/javafx-links-of-june-2024/</guid><description>&lt;p&gt;Here is the overview of the JavaFX LinksOfTheMonth of June 2024, published on &lt;a href="https://www.jfx-central.com/" target="_blank" rel="noopener noreferrer"&gt;jfx-central.com&lt;/a&gt;
 during this month.&lt;/p&gt;
&lt;h2 id="h2-0-core"&gt;Core&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;New JavaFX 23 Early-Access Builds are &lt;a href="https://jdk.java.net/javafx23/" target="_blank" rel="noopener noreferrer"&gt;available on jdk.java.net/javafx23&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://x.com/FriedholdMatz/status/1776354116517732465" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Friedhold Matz&lt;/strong&gt; shared a screenshot&lt;/a&gt;
 showing that WebView in JavaFX 22 now works with GraalVM 22+36.1.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-1-applications"&gt;Applications&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://x.com/crschnick/status/1797530886289940828" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Christopher Schnick&lt;/strong&gt; shared screenshots&lt;/a&gt;
: &amp;ldquo;XPipe 9.4 comes with a JavaFX markdown view for notes that works through the WebView. It supports using external editors and updates in real time.&amp;rdquo; Check the sources on &lt;a href="https://github.com/xpipe-io/xpipe" target="_blank" rel="noopener noreferrer"&gt;GitHub&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://x.com/SerendigityInfo/status/1797164327763357725" target="_blank" rel="noopener noreferrer"&gt;Smartfinder now runs on Java 22&lt;/a&gt;
. It&amp;rsquo;s a Desktop Search alternative to Windows Search/Mac OS Finder.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/logorrr/status/1800544389216997657" target="_blank" rel="noopener noreferrer"&gt;LogoRRR reached a major milestone this week&lt;/a&gt;
: &amp;ldquo;10.000 downloads for LogoRRR on all platforms!! I&amp;rsquo;m very proud of this achievement, thank you guys!🙂&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://x.com/xiongchun007/status/1799863501135245739" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Xiong Chun&lt;/strong&gt; keeps teasing us with videos&lt;/a&gt;
 showing progress with his Datacollie application to interact with databases&amp;hellip;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/haltraet" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Hallvard Trætteberg&lt;/strong&gt;&lt;/a&gt;
 shared &lt;a href="https://github.com/kantega/llm-starter-and-workbench" target="_blank" rel="noopener noreferrer"&gt;code of a LLM workbench to explore various parts of a RAG chain using Quarkus, LangChain4J and JavaFX&lt;/a&gt;
 (with an extension allowing Quarkus to work with JavaFX): &amp;ldquo;The UI is rough, just what is needed functionally, but the project may still be interesting for others. It&amp;rsquo;s also a showcase for a rare combination, a desktop app running on Quarkus.&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://x.com/SeanMiPhillips/status/1802142816602108122" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Sean Phillips&lt;/strong&gt; is taking requests and suggestions for Trinity&lt;/a&gt;
: &amp;ldquo;If anyone has ideas they would like to see implemented in a 3D asteroids game or in the actual AI analysis tool, and it&amp;rsquo;s feasible in my spare time, I will happily attempt to implement it. (and credit you!)&amp;rdquo;&lt;/li&gt;
&lt;li&gt;In a XTwitter Thread, &lt;a href="https://x.com/EmadHanif_/status/1806383935083233771" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Emad Hanif&lt;/strong&gt; shares several videos of Barcodify&lt;/a&gt;
: &amp;ldquo;Check out how easy it is to configure and export barcodes.&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://x.com/PatrikKarlstrom/status/1804865421918491014" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Patrik Karlström&lt;/strong&gt; is working on nbLauncher&lt;/a&gt;
, an app to build launcher configs for NetBeans Platform Apps: &amp;ldquo;Expect a release after testing and polishing.&amp;rdquo; You can &lt;a href="https://github.com/trixon/nbLauncher" target="_blank" rel="noopener noreferrer"&gt;find it on GitHub&lt;/a&gt;
.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-2-games"&gt;Games&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://x.com/WebFXProject/status/1797963817659600978" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;WebFX&lt;/strong&gt; published a new version of SpaceFX&lt;/a&gt;
 a game originally created by &lt;a href="https://x.com/hansolo_" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Gerrit Grunwald&lt;/strong&gt;&lt;/a&gt;
. It&amp;rsquo;s playable online at &lt;a href="https://spacefx.webfx.dev" target="_blank" rel="noopener noreferrer"&gt;spacefx.webfx.dev&lt;/a&gt;
 with a few updates to make the game even more challenging for true gamers. More WebFX demos on &lt;a href="https://github.com/webfx-demos" target="_blank" rel="noopener noreferrer"&gt;github.com/webfx-demos&lt;/a&gt;
.
&lt;ul&gt;
&lt;li&gt;And &lt;a href="https://x.com/WebFXProject/status/1803038702693740734" target="_blank" rel="noopener noreferrer"&gt;another new update&lt;/a&gt;
 of the &lt;a href="https://spacefx.webfx.dev" target="_blank" rel="noopener noreferrer"&gt;online SpaceFX&lt;/a&gt;
: &amp;ldquo;2 new weapons: Autofire Fury and Rainbow Blaster. Can you now score 100,000? All of this made possible only by the amazingly performant JavaFX game engine written by &lt;strong&gt;Gerrit Grunwald&lt;/strong&gt; and the power of GWT.&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://x.com/SeanMiPhillips/status/1801354864162967663" target="_blank" rel="noopener noreferrer"&gt;The Trinity XAI analysis tool by &lt;strong&gt;Sean Phillips&lt;/strong&gt; now supports video playback and automatic clustering algorithms&lt;/a&gt;
. Because data science is also fun, he integrated the ability to turn your AI analysis data and clusters into a playable Asteroids 3D minigame. &lt;a href="https://www.youtube.com/watch?v=vFThM9BoTLg" target="_blank" rel="noopener noreferrer"&gt;Watch the video here&lt;/a&gt;
, and the &lt;a href="https://github.com/Birdasaur/Trinity" target="_blank" rel="noopener noreferrer"&gt;code is available here&lt;/a&gt;
. &amp;ldquo;Watch out for those alien Opticons&amp;hellip;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://x.com/orango_mango/status/1805585806863602035" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;OrangoMango&lt;/strong&gt; shared&lt;/a&gt;
 a &lt;a href="https://www.youtube.com/watch?v=npwdeEwLjpY" target="_blank" rel="noopener noreferrer"&gt;video showcase of his best projects since February 2020&lt;/a&gt;
: &amp;ldquo;JavaFX is the best 💪.&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-3-components-libraries-tools"&gt;Components, Libraries, Tools&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://twitter.com/v1aaad/status/1800614531191996618" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;vlaaad&lt;/strong&gt; released version 1.9.0 of cljfx&lt;/a&gt;
, a reactive UI wrapper of JavaFX for Clojure: &amp;ldquo;The new features bring cljfx a bit further away from re-frame and a bit closer to react.&amp;rdquo; Check out the &lt;a href="https://github.com/cljfx/cljfx/blob/master/CHANGELOG.md" target="_blank" rel="noopener noreferrer"&gt;changelog on GitHub&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;Updates shared by &lt;a href="https://x.com/P_Duke" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Pedro Duke&lt;/strong&gt;&lt;/a&gt;
:
&lt;ul&gt;
&lt;li&gt;Do you want your JavaFX application to have rounded borders? &lt;a href="https://x.com/P_Duke/status/1797614063289274570" target="_blank" rel="noopener noreferrer"&gt;FXThemes can do that for you&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://x.com/P_Duke/status/1800522435734995086" target="_blank" rel="noopener noreferrer"&gt;Video of an experiment with a new Login Dialog&lt;/a&gt;
: &amp;ldquo;Using FXThemes for the background blur on the Dialog and FXSkins for the differently looking Progress Bar and Button animations.&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://x.com/P_Duke/status/1801238597707735479" target="_blank" rel="noopener noreferrer"&gt;Video showing that the next version of FXThemes&lt;/a&gt;
 will allow you to add platform decorations to an Undecorated or Transparent Stage.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://x.com/P_Duke/status/1803758549677293986" target="_blank" rel="noopener noreferrer"&gt;Version 1.6 of FXThemes&lt;/a&gt;
: &amp;ldquo;Change the roundness of window corners. Set native platform decorations on TRANSPARENT or UNDECORATED Stages.&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Updates shared by &lt;a href="https://twitter.com/dlemmermann/" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Dirk Lemmermann&lt;/strong&gt;&lt;/a&gt;
:
&lt;ul&gt;
&lt;li&gt;Uploaded a video to &lt;a href="https://www.youtube.com/watch?v=9CaDcCvJZ7I" target="_blank" rel="noopener noreferrer"&gt;demonstrate the AvatarView in GemsFX&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/dlemmermann/status/1801010129237598714" target="_blank" rel="noopener noreferrer"&gt;Added an AvatarView control to GemsFX&lt;/a&gt;
, which can be used to either display the image/avatar of a user or his/her initials. Clipping will give you a round or a square view.&lt;/li&gt;
&lt;li&gt;Doing a &amp;ldquo;&lt;a href="https://x.com/dlemmermann/status/1805595281209118818" target="_blank" rel="noopener noreferrer"&gt;2nd attempt at providing a reusable control in GemsFX that features a table view with built-in column-based filtering&lt;/a&gt;
 (aka iTunes-style filtering). Trying to use what I learned since I started coding JavaFX in 2013.&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-4-podcasts-videos-books"&gt;Podcasts, Videos, Books&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://x.com/FrankDelporte" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Frank Delporte&lt;/strong&gt;&lt;/a&gt;
 started a new series of videos: &amp;ldquo;JavaFX In Action&amp;rdquo;:
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://webtechie.be/post/2024-06-05-jfxinaction-pedro-duque-vieira-duke/" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Pedro Duque Vieira&lt;/strong&gt;, aka Duke about Hero, PDFSam, FXThemes, FXComponents,&amp;hellip;&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://webtechie.be/post/2024-06-12-jfxinaction-daniel-zimmermann/" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Daniel Zimmermann&lt;/strong&gt; about JavaFX and Kotlin&lt;/a&gt;
 to build nice user interfaces, making full use of the JVM to run on any platform and perform heavy tasks like testing network speeds up to 10Gbps!&lt;/li&gt;
&lt;li&gt;&lt;a href="https://webtechie.be/post/2024-06-18-jfxinaction-christopher-schnick/" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Christopher Schnick&lt;/strong&gt; about XPipe&lt;/a&gt;
, an app to manage all your servers.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://webtechie.be/post/2024-06-26-jfxinaction-robert-ladstatter/" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Robert Ladstätter&lt;/strong&gt; about LogoRRR&lt;/a&gt;
, a cross-platform log analysis tool written with Scala and JavaFX to find problems blazingly fast in log files with millions of lines.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-5-tutorials"&gt;Tutorials&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.linkedin.com/pulse/side-project-local-llm-powered-image-renaming-tool-marc-leveque-sdkfe/" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Mark Leveque&lt;/strong&gt; shares a side project&lt;/a&gt;
: &amp;ldquo;Local LLM-Powered Image Renaming JavaFX Tool. Use case: you have a disk full of randomly named images and you want to give them filenames relevant to their content. The article will covers: llama.cpp with Java, JavaFX as GUI, packaging the application and pitfalls along the way.&amp;rdquo;&lt;/li&gt;
&lt;li&gt;Video tutorial by &lt;a href="https://twitter.com/iamBalkrishnaS" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Balkrishna Srivastava&lt;/strong&gt;&lt;/a&gt;
: &lt;a href="https://www.youtube.com/watch?v=8h0CJCsnsa4" target="_blank" rel="noopener noreferrer"&gt;&amp;ldquo;JavaFX GUI App to play the game of TicTacToe in Java.&amp;rdquo;&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Video tutorial by &lt;strong&gt;Kensoft PH&lt;/strong&gt; : &lt;a href="https://www.youtube.com/watch?v=1u0boNYDGNI" target="_blank" rel="noopener noreferrer"&gt;&amp;ldquo;JavaFX Pie Chart: World Population with National Flag.&amp;rdquo;&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-6-miscellaneous"&gt;Miscellaneous&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://x.com/orango_mango/status/1800494415674577288" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;OrangoMango&lt;/strong&gt; shared a quick video of a handwritten digits recognizer using neural networks&lt;/a&gt;
: &amp;ldquo;Of course built from scratch and in Java and JavaFX&amp;rdquo;.&lt;/li&gt;
&lt;li&gt;JavaFX love by&amp;hellip;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://x.com/maytanthegeek/status/1794393624995885123" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Tanmay&lt;/strong&gt;&lt;/a&gt;
: &amp;ldquo;Not gonna lie. I still love JavaFX. Android layout learned a lot from it. JavaFX is so fun and simple. I would really like to see it take a leading spot some day for GUI programming.&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://x.com/DaXiong008/status/1799322279241011688" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Xiong Chun&lt;/strong&gt;&lt;/a&gt;
: &amp;ldquo;Never has styling a Java UI been easier than with JavaFX and CSS. Going from one theme to another, or customizing the look of just one control, can all be done with CSS. eg: I want to let the scrollbar is only be displayed when the component has focus, otherwise disappear.&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/Sharat_Chander/status/1801461459840549198" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Sharat Chander&lt;/strong&gt;&lt;/a&gt;
: &amp;ldquo;Wicked cool usage of Java AND JavaFX! @SeanMiPhillips, super genius!&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/jasperpotts/status/1800623060346921264" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Jasper Potts&lt;/strong&gt;&lt;/a&gt;
: &amp;ldquo;Had déjà vu today seeing the new Apple Car UI, guess what Mo Chicharro and I designed 10 years ago was ahead of our time. 😀&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/EvanderTor57903/status/1800928991689453989" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Evander Torres&lt;/strong&gt;&lt;/a&gt;
: &amp;ldquo;I think JavaFX is the true desktop ui solution for Kotlin!&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.linkedin.com/embed/feed/update/urn:li:share:7212075229894881280" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Crystal Furman&lt;/strong&gt; wrote a long LinkedIn message about the use of JavaFX in education&lt;/a&gt;
: &amp;ldquo;I encourage you to try out Java FX charts with your students. For some, data analysis is simply not going to be exciting, even if it is on a topic they care about. Adding some graphics, might just spruce up this project and make it more exciting for them. Hope you try it and let me know how it goes.&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://x.com/hansolo_/status/1806004059368784098" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Gerrit Grunwald&lt;/strong&gt; shares a screenshot&lt;/a&gt;
: &amp;ldquo;JavaFX is simply super productive&amp;hellip; Created this chart component in just 1.5h&amp;hellip; From idea to running in my app&amp;hellip; Just love it&amp;hellip;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://x.com/carldea/status/1805773088576974861" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Carl Dea&lt;/strong&gt; is extending Cognitive, a JavaFX MVVM library&lt;/a&gt;
, with a new feature, as &lt;a href="https://github.com/carldea/cognitive/issues/2" target="_blank" rel="noopener noreferrer"&gt;extensively documented on GitHub&lt;/a&gt;
: &amp;ldquo;Additional way to look up properties using a Property Identifier type object instead of a String.&amp;rdquo;&lt;/li&gt;
&lt;li&gt;Experiments by &lt;strong&gt;konczdev&lt;/strong&gt; :
&lt;ul&gt;
&lt;li&gt;&amp;ldquo;&lt;a href="https://x.com/konczdev/status/1804825701134082331" target="_blank" rel="noopener noreferrer"&gt;Git branch graph like JavaFx visualization entirely made by Claude 3.5 Sonnet&lt;/a&gt;
. All iterations. The input was just an image and a short prompt.&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&amp;ldquo;&lt;a href="https://x.com/konczdev/status/1804591278073532624" target="_blank" rel="noopener noreferrer"&gt;A little fun with Java 22, JavaFX and Project Panama&lt;/a&gt;
. Modified JavaFX window with a custom JavaFX title bar without any refection, JNI, JNA or native code.&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-7-jfx-central"&gt;JFX Central&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;The videos of &amp;ldquo;JavaFX In Action&amp;rdquo;, mentioned above, are also added to the &lt;a href="https://www.jfx-central.com/videos" target="_blank" rel="noopener noreferrer"&gt;video section of JFX Central&lt;/a&gt;
, select &amp;ldquo;JFX In Action&amp;rdquo; in the &amp;ldquo;Type&amp;rdquo; filter. More to come after the summer break&amp;hellip;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://x.com/dlemmermann/status/1798688644133486973" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Dirk Lemmermann&lt;/strong&gt; shared visitor statistics&lt;/a&gt;
: &amp;ldquo;We are seeing more and more traffic on JFX Central coming from China and the United States. Normally Germany was on the number 1 spot. Interesting&amp;hellip;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;All the Links Of The Week of May are &lt;a href="https://foojayio.github.io/website/today/javafx-links-of-may-2024/"&gt;bundled in one post on Foojay.io&lt;/a&gt;
.&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Book review: Frontend Development with JavaFX and Kotlin</title><link>https://foojayio.github.io/website/today/book-review-frontend-development-with-javafx-and-kotlin/</link><pubDate>Fri, 14 Jun 2024 09:06:53 +0000</pubDate><guid>https://foojayio.github.io/website/today/book-review-frontend-development-with-javafx-and-kotlin/</guid><description>&lt;figure class="wp-block-image size-full is-resized"&gt;
 &lt;img fetchpriority="high" decoding="async" width="327" height="466" src="cover.jpg" alt="" class="wp-image-110882" style="width:auto;height:200px"&gt;
&lt;/figure&gt;
&lt;p&gt;For a personal pet project, I started experimenting with JavaFX and Kotlin to create a user interface with a lot of Java / Kotlin background processing. As I knew there is a book available on this specific topic, Apress was so kind to send me a review copy of &lt;a href="https://www.amazon.nl/Frontend-Development-JavaFX-Kotlin-State/dp/1484297164" target="_blank" rel="noopener noreferrer"&gt;Frontend Development with JavaFX and Kotlin: Build State-of-the-Art Kotlin GUI Applications&lt;/a&gt;
 by Peter Späth (152 pages, 48€ on paper, 35.5€ for ebook on Amazon.nl).&lt;/p&gt;</description></item><item><title>JavaFX Links of May 2024</title><link>https://foojayio.github.io/website/today/javafx-links-of-may-2024/</link><pubDate>Sat, 01 Jun 2024 08:12:12 +0000</pubDate><guid>https://foojayio.github.io/website/today/javafx-links-of-may-2024/</guid><description>&lt;p&gt;Here is the overview of the JavaFX LinksOfTheMonth of May 2024, published on &lt;a href="https://www.jfx-central.com/" target="_blank" rel="noopener noreferrer"&gt;jfx-central.com&lt;/a&gt;
 during this month.&lt;/p&gt;
&lt;h2 id="h2-0-core"&gt;Core&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;When &lt;a href="https://mastodon.social/@johanvos/112477892809739391" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Johan Vos&lt;/strong&gt; shares his notes&lt;/a&gt;
, you may want to keep on eye on them&amp;hellip;: &amp;ldquo;While working on Java on Mobile, I &lt;a href="https://download2.gluonhq.com/mobile/" target="_blank" rel="noopener noreferrer"&gt;keep my notes here&lt;/a&gt;
 (best viewed with lynx). This is not user/developer documentation, but people interested/familiar with OpenJDK building might keep an eye to see how far we are.&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://x.com/afoo_me/status/1795340765469855915" target="_blank" rel="noopener noreferrer"&gt;Nice visualization by &lt;strong&gt;afoo&lt;/strong&gt;&lt;/a&gt;
 to illustrate the flow of event phases (capturing with EventFilter versus bubbling with EventHandler) in JavaFX.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-1-applications"&gt;Applications&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://twitter.com/logorrr/status/1785790043451249020" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Robert Ladstätter&lt;/strong&gt; announced a new release of LogoRRR&lt;/a&gt;
: &amp;ldquo;This update is a maintenance release with visual improvements and bugfixes. Internally, substiantial work was done to improve test coverage (End2End tests and performance tests).&amp;rdquo;
&lt;ul&gt;
&lt;li&gt;And a &lt;a href="https://twitter.com/logorrr/status/1789428827828974030" target="_blank" rel="noopener noreferrer"&gt;video shows a new viewport visualisation&lt;/a&gt;
 of the current visible text in the box view on the left.&lt;/li&gt;
&lt;li&gt;And did you know &lt;a href="https://twitter.com/logorrr/status/1788685166547800300" target="_blank" rel="noopener noreferrer"&gt;you can play Snake with your logs&lt;/a&gt;
?!&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Sean Phillips&lt;/strong&gt; is on a roll again with a Twitter Thread with a lot of amazing 3D data visualizations.
&lt;ul&gt;
&lt;li&gt;&amp;ldquo;&lt;a href="https://twitter.com/SeanMiPhillips/status/1789361307361083527" target="_blank" rel="noopener noreferrer"&gt;Hi res Lunar elevation scans combined with hi res color spectrum imagery&lt;/a&gt;
 (100m accuracy). Working on an easy to use Line Of Sight viz for Lunar surface assets. Mixing JavaFX and the NASA WorldWind Java SDK is a very powerful combination!&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&amp;ldquo;Borrowing from Worldwind&amp;rsquo;s Line of Sight example I integrated a &lt;a href="https://twitter.com/SeanMiPhillips/status/1790000502555451591" target="_blank" rel="noopener noreferrer"&gt;JavaFX point &amp;amp; click tool with hi res lunar elevation data/terrain&lt;/a&gt;
. Upgraded the computations to run using #Java parallel streams. 100 LOS checks computed/rendered &amp;lt; 1 second. Developed in a weekend.&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&amp;ldquo;&lt;a href="https://twitter.com/SeanMiPhillips/status/1790084437029327307" target="_blank" rel="noopener noreferrer"&gt;Extended the lunar LOS tool by several orders of magnitude to check for performance&lt;/a&gt;
. 10k LOS checks, 30k 3D artifacts added to the scene: 244 ms (including the rendering)&amp;hellip; on a decent laptop. But Java is slow and JavaFX sucks and all those other foolish things you hear&amp;hellip;&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.linkedin.com/posts/bj-delacruz_javafx-fiji-buildinpublic-activity-7197088263570944000-gQfh?utm_source=share&amp;amp;utm_medium=member_desktop" target="_blank" rel="noopener noreferrer"&gt;Screenshot of an application by &lt;strong&gt;BJ Dela Cruz&lt;/strong&gt;&lt;/a&gt;
: &amp;ldquo;With my JavaFX app Flight Display, you can dream about landing in the beautiful island nation of Fiji. My dream of creating my own flight display board has come true!&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.linkedin.com/feed/update/urn:li:activity:7196818552274767872/" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Aman Singh&lt;/strong&gt; is excited to share his latest project&lt;/a&gt;
: &amp;ldquo;An Internet Download Manager built using JavaFX! With features like dynamic URL input, file management, and multi-threaded downloading, it&amp;rsquo;s designed to streamline your downloading experience. &lt;a href="https://github.com/Aman298871/Internet-Download-Manager" target="_blank" rel="noopener noreferrer"&gt;Check out the code&lt;/a&gt;
 and let me know your thoughts!&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://x.com/P_Duke/status/1791442291070058732" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Pedro Duque Vieira&lt;/strong&gt;&lt;/a&gt;
 shared a &lt;a href="https://youtu.be/P06dmx-SpkM?si=l6QkoY2fTQR-9sk7" target="_blank" rel="noopener noreferrer"&gt;video of Hero version 4 in action&lt;/a&gt;
 which uses JMetro, FXThemes, and FXSkins.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://x.com/crschnick/status/1791903229397103051" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Christopher Schnick&lt;/strong&gt; shared&lt;/a&gt;
: &amp;ldquo;XPipe 9 comes with an integrated VNC client, written in JavaFX! Get it from &lt;a href="https://github.com/xpipe-io/xpipe" target="_blank" rel="noopener noreferrer"&gt;GitHub&lt;/a&gt;
&amp;rdquo;.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.linkedin.com/posts/emad-hanif-00b4aa227_javafx-activity-7201626665133785090-eHOS/" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Emad Hanif&lt;/strong&gt; shared an update of this Barcodify application&lt;/a&gt;
: &amp;ldquo;It&amp;rsquo;s been a great month working with JavaFX. By the way, the application is now faster and more memory efficient. Templates are generated in batches, columns are processed concurrently, and everything is merged into a single PDF &amp;mdash; all while maintaining perfect alignment. Soon, will be sharing short video to demonstrate the magic!&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://x.com/Heshantk" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Heshan Kariyawasam&lt;/strong&gt;&lt;/a&gt;
 is &lt;a href="https://www.linkedin.com/posts/heshanthenura_java-javafx-library-activity-7200502273158885376-uak0/" target="_blank" rel="noopener noreferrer"&gt;working on Libro&lt;/a&gt;
: Open Source Library Management App. The sources are on &lt;a href="https://github.com/heshanthenura/Libro" target="_blank" rel="noopener noreferrer"&gt;GitHub&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://x.com/DaXiong008/status/1795857529894781252" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Xiong Chun&lt;/strong&gt; shared a video&lt;/a&gt;
: &amp;ldquo;Since I started using EventBus in JavaFX, my UI element and content changes are entirely event-driven/data-driven, making development more streamlined. I&amp;rsquo;ve recently completed my Datacollie&amp;rsquo;s interaction effect with selected tree node and the data displayed in the right-pane.&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-2-games"&gt;Games&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://x.com/WigglyGull/status/1791292994064396793" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Auron&lt;/strong&gt; started work on a new Pixelart Game project&lt;/a&gt;
: &amp;ldquo;There&amp;rsquo;s lots of placeholder stuff right now but the main logic this there.&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-3-components-libraries-tools"&gt;Components, Libraries, Tools&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://twitter.com/P_Duke/status/1786017713283817828" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Pedro Duque Vieira&lt;/strong&gt; announced FXThemes Version 1.5&lt;/a&gt;
 which introduces macOS support. Thanks to contributions by &lt;a href="https://twitter.com/carldea" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Carl Dea&lt;/strong&gt;&lt;/a&gt;
. Read more in this &lt;a href="https://pixelduke.com/2024/05/02/fxthemes-version-1-5-released/" target="_blank" rel="noopener noreferrer"&gt;blog post&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/dlemmermann/status/1788958790416556511" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Dirk Lemmermann&lt;/strong&gt; announced support for search &amp;ldquo;history&amp;rdquo; in the SearchTextField control of GemsFX&lt;/a&gt;
. Available with release 2.17.0, thanks to &lt;a href="https://twitter.com/LeeWyatt_7788" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Li Wang Yang&lt;/strong&gt;&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/carldea/status/1747046776765284445" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Carl Dea&lt;/strong&gt; shared a video&lt;/a&gt;
, showing &amp;ldquo;A JavaFX background blur effect library for the MacOS is now able to support Light and Dark Mode!&amp;rdquo;. You can find it on &lt;a href="https://github.com/carldea/windowblur" target="_blank" rel="noopener noreferrer"&gt;GitHub&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://x.com/carldea/status/1796344316618817798" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Carl Dea&lt;/strong&gt; also published a lightweight JavaFX MVVM library &amp;ldquo;Cognitive&amp;rdquo;&lt;/a&gt;
 on GitHub and Maven Central, with &lt;a href="https://github.com/carldea/cognitive/wiki" target="_blank" rel="noopener noreferrer"&gt;a lot of info and examples here&lt;/a&gt;
.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-4-podcast-video-books"&gt;Podcast, Video, Books&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Frank Delporte&lt;/strong&gt; &lt;a href="https://webtechie.be/post/2024-05-06-book-review-javafx-kotlin/" target="_blank" rel="noopener noreferrer"&gt;wrote a review of the book &amp;ldquo;Frontend Development with JavaFX and Kotlin&amp;rdquo;&lt;/a&gt;
, written by &lt;strong&gt;Peter Späth&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-5-tutorials"&gt;Tutorials&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;A complete set of video tutorials by &lt;a href="https://twitter.com/timbuchalka" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Tim Buchalka&lt;/strong&gt;&lt;/a&gt;
, all combined into a single YouTube video of more than five hours, yes indeed, 5 hours: &lt;a href="https://www.youtube.com/watch?v=YX9ad_9jtXQ" target="_blank" rel="noopener noreferrer"&gt;Java Programming Masterclass Updated To Java 17: JavaFX part 1&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-6-miscellaneous"&gt;Miscellaneous&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.linkedin.com/posts/tobiasbriones_computerscience-javafx-art-activity-7190393026538536960-CZMY" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Tobias Briones&lt;/strong&gt; entered the Matrix&amp;hellip;&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/dashaun/status/1788735171514028142" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;DaShaun Carter&lt;/strong&gt; wants to create a JavaFX Chat Buddy&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/DaXiong008/status/1786781960318439803" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Xiong Chun&lt;/strong&gt; shared a screenshot&lt;/a&gt;
: &amp;ldquo;JavaFX TreeView is very powerful. Completely meets my functional requirements. This technology selection of native desktop framework is still very successful so far.&amp;rdquo;&lt;/li&gt;
&lt;li&gt;On the Twitter profile of &lt;a href="https://x.com/JodiChildrej" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Jodi Childress&lt;/strong&gt;&lt;/a&gt;
 a long list of logo screenshots are posted which all seem to be generated with JavaFX during a computer programming class.&lt;/li&gt;
&lt;li&gt;Some JavaFX love on X &amp;hellip;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://x.com/DaXiong008/status/1792070496152076630" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Xiong Chun&lt;/strong&gt;&lt;/a&gt;
: &amp;ldquo;Yep, JavaFX may take a good balance between cross-platform features and performance. In fact, I used Electron+Vue 3 to dev Datacollie. However, I found this architecture pattern, interactive experience and the performance are all not good enough for me. So, I switched to JavaFX.&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://x.com/EvanderTor57903/status/1792001252349346050" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Evander Torres&lt;/strong&gt;&lt;/a&gt;
: &amp;ldquo;I like JavaFX and Gluon not only because it has very proven and tested UI components but they are updated with the latest Java versions so you can take 100% advantage from Java.&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://x.com/caifyoca/status/1791530281058357650" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Junior ADI&lt;/strong&gt;&lt;/a&gt;
: &amp;ldquo;Done! JavaFX is seriously interesting. Give a try.&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://x.com/luciascarlet/status/1793317192890507599" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;lucia scarlet&lt;/strong&gt;&lt;/a&gt;
: &amp;ldquo;If you&amp;rsquo;re gonna use Java for the love of all that is holy use JavaFX instead of Swing because Swing apps are Distinctly Unpleasant to use (far, far more so than any Electron app). I would also look into Compose Multiplatform on Kotlin though.&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://x.com/hansolo_/status/1794086894008930686" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Gerrit Grunwald&lt;/strong&gt;&lt;/a&gt;
: &amp;ldquo;After more coding I think now it&amp;rsquo;s time for the weekend&amp;hellip; and again I realized that JavaFX is so productive&amp;hellip; amazing.&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://x.com/maytanthegeek/status/1794393624995885123" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Tanmay&lt;/strong&gt;&lt;/a&gt;
: &amp;ldquo;Not gonna lie. I still love JavaFX. Android layout learned a lot from it. JavaFX is so fun and simple. I would really like to see it take a leading spot some day for GUI programming.&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;And some Kotlin+JavaFX love &amp;hellip;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://x.com/DystopianSnow/status/1793140611773554938" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Daniel Zimmermann&lt;/strong&gt;&lt;/a&gt;
: &amp;ldquo;To your dismay I have to tell you I write all my desktop applications using Kotlin and JavaFX&amp;hellip;&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Dirk Lemmermann&lt;/strong&gt; has created a new repository for utility classes related to using the &lt;a href="https://square.github.io/retrofit/" target="_blank" rel="noopener noreferrer"&gt;Retrofit framework&lt;/a&gt;
 (a type-safe HTTP client for Android and Java) in a JavaFX applications: &amp;ldquo;Obviously it is called &lt;a href="https://github.com/dlsc-software-consulting-gmbh/RetrofitFX" target="_blank" rel="noopener noreferrer"&gt;RetrofitFX (on GitHub)&lt;/a&gt;
 and currently contains a total of two classes 🙂 Most importantly a class called ServiceInvocation which runs async server calls via Retrofit and then returns the result on †the JavaFX thread via various handlers that can be attached to the ServiceInvocation class. Hope some of you will find it useful &amp;hellip; although pretty specific.&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-7-jfx-central"&gt;JFX Central&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;New libraries
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.jfx-central.com/libraries/fxform2" target="_blank" rel="noopener noreferrer"&gt;FxForm2&lt;/a&gt;
 to easily creating forms.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://jfx-central.com/libraries/chartfx" target="_blank" rel="noopener noreferrer"&gt;&amp;ldquo;ChartFX&amp;rdquo; for creating scientific charts&lt;/a&gt;
, thanks to &lt;a href="https://www.jfx-central.com/people/r.steinhagen" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Ralph J. Steinhagen&lt;/strong&gt;&lt;/a&gt;
.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/dlemmermann/status/1791084367718027559" target="_blank" rel="noopener noreferrer"&gt;Message by &lt;strong&gt;Dirk Lemmermann&lt;/strong&gt;&lt;/a&gt;
: &amp;ldquo;JavaFX library developers: if you haven&amp;rsquo;t done so already, please add your library to JFX Central so that everybody can find it very easily. You can add it yourself &lt;a href="https://github.com/dlsc-software-consulting-gmbh/jfxcentral-data" target="_blank" rel="noopener noreferrer"&gt;in this GitHub repository&lt;/a&gt;
.&amp;rdquo;&lt;/li&gt;
&lt;li&gt;The Links Of The Week are now also &lt;a href="https://www.jfx-central.com/lotw/rss.xml" target="_blank" rel="noopener noreferrer"&gt;available via RSS&lt;/a&gt;
 thanks to contributions by &lt;a href="https://x.com/FrankDelporte" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Frank Delporte&lt;/strong&gt;&lt;/a&gt;
 and &lt;a href="https://x.com/FlorianKirmaier" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Florian Kirmaier&lt;/strong&gt;&lt;/a&gt;
.&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>JavaFX Links of April 2024</title><link>https://foojayio.github.io/website/today/javafx-links-of-april-2024/</link><pubDate>Mon, 29 Apr 2024 15:22:05 +0000</pubDate><guid>https://foojayio.github.io/website/today/javafx-links-of-april-2024/</guid><description>&lt;p&gt;Here is the overview of the JavaFX LinksOfTheMonth of April 2024, published on &lt;a href="https://www.jfx-central.com/" target="_blank" rel="noopener noreferrer"&gt;jfx-central.com&lt;/a&gt;
 during this month.&lt;/p&gt;
&lt;h2 id="h2-0-core"&gt;Core&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Gluon&lt;/strong&gt; published new releases of JavaFX: 22.0.1 and the LTS releases 17.0.11 and 21.0.3. You can get them from Maven Central and the &lt;a href="https://gluonhq.com/products/javafx/" target="_blank" rel="noopener noreferrer"&gt;Gluon website&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;The new builds of Java and JavaFX, that were released this week, contain several fixes related to Common Vulnerabilities and Exposures (CVE), see for example the &lt;a href="https://docs.azul.com/core/release-notes#fixed-common-vulnerabilities-and-exposures" target="_blank" rel="noopener noreferrer"&gt;release notes of Azul Zulu&lt;/a&gt;
. The 3-monthly security update schedule, guarantees that detected CVEs are fixed quickly and become available in a well-organized and documented way. Thanks to the power of the OpenJDK community!&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Johan Vos&lt;/strong&gt; is &amp;ldquo;&lt;a href="https://mastodon.social/@johanvos/112325369175582324" target="_blank" rel="noopener noreferrer"&gt;Fixing one test at a time to get JavaFX Headless support in the core&lt;/a&gt;
.&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-1-applications"&gt;Applications&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://blog.jabref.org/2024/04/03/JabRef5-13/" target="_blank" rel="noopener noreferrer"&gt;JabRef 5.13 now runs on JavaFX 22&lt;/a&gt;
: &amp;ldquo;In the Northern Hemisphere, Spring is on it&amp;rsquo;s way and we are releasing a new version with many new features and bug fixes with a focus on improving the usability (not only) for LaTeX users.&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/EmadHanif_/status/1782111780611010776" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Emad Hanif&lt;/strong&gt; shared a video of Barcodify&lt;/a&gt;
, a barcode generator, improving the application speed with Task-Level Concurrency vs Thread-Level Concurrency.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/SeanMiPhillips/status/1781480060408537145" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Sean Phillips&lt;/strong&gt; shared&lt;/a&gt;
 a &lt;a href="https://www.youtube.com/watch?v=jI5r-flszzU" target="_blank" rel="noopener noreferrer"&gt;video, showing Trinity in action&lt;/a&gt;
 to detect the Biden robocall deepfake on a consumer grade laptop (as presented at DevNexus).
&lt;ul&gt;
&lt;li&gt;And Sean also &lt;a href="https://twitter.com/SeanMiPhillips/status/1783677579980845232" target="_blank" rel="noopener noreferrer"&gt;shared a futuristic user interface&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-2-games"&gt;Games&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://twitter.com/AlmasBaim/status/1776166816814977289" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Almas Baim&lt;/strong&gt; shared a new experiment with FXGL&lt;/a&gt;
: &amp;ldquo;Is it just me, or does this thing look like an eye?&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-3-components-libraries-tools"&gt;Components, Libraries, Tools&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://twitter.com/logorrr/status/1774901636965519758" target="_blank" rel="noopener noreferrer"&gt;LogoRRR shared a video&lt;/a&gt;
 demonstrating &lt;a href="https://github.com/TestFX/TestFX" target="_blank" rel="noopener noreferrer"&gt;TestFX&lt;/a&gt;
 &amp;ldquo;the testing framework for JavaFX applications. We use it to verify that everything works as designed 🙂.&amp;rdquo;
&lt;ul&gt;
&lt;li&gt;&amp;ldquo;There is active development to support headless execution of tests - see &lt;a href="https://github.com/TestFX/TestFX/issues/803" target="_blank" rel="noopener noreferrer"&gt;#803&lt;/a&gt;
! 🎉&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/P_Duke/status/1777378767670841488" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Pedro Duque Vieira&lt;/strong&gt; announced version 1.6 of FXComponents&lt;/a&gt;
, introducing a new control: Navigation Pane. &lt;a href="https://www.pixelduke.com/2024/04/08/fxcomponents-version-1-6-released/" target="_blank" rel="noopener noreferrer"&gt;More info and a video is available here&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/dlemmermann/status/1777686986003796056" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Dirk Lemmermann&lt;/strong&gt; announced version 3.1.0 of PDFViewFX&lt;/a&gt;
: &amp;ldquo;It contains a fix for the zooming bug and cleans up the use of CSS. You can find the &lt;a href="https://github.com/dlsc-software-consulting-gmbh/PDFViewFX" target="_blank" rel="noopener noreferrer"&gt;source code on GitHub&lt;/a&gt;
 and the artifacts on Maven Central.&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/dlemmermann/" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Dirk Lemmermann&lt;/strong&gt;&lt;/a&gt;
 shared a lot of updates for the GemsFX library, thanks to contributions by &lt;a href="https://twitter.com/LeeWyatt_7788" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Li Wang Yang&lt;/strong&gt;&lt;/a&gt;
. GemsFX is a collection of custom controls and utilities for JavaFX, see &lt;a href="https://github.com/dlsc-software-consulting-gmbh/GemsFX" target="_blank" rel="noopener noreferrer"&gt;sources on GitHub&lt;/a&gt;
. Here are some screenshots:
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://twitter.com/dlemmermann/status/1780122735177339359" target="_blank" rel="noopener noreferrer"&gt;LimitedTextArea&lt;/a&gt;
, which allows you to specify the maximum content length (and is resizable as it inherits from ResizableTextArea).&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/dlemmermann/status/1780123307901136965" target="_blank" rel="noopener noreferrer"&gt;Responsive pane&lt;/a&gt;
, which allows you to show a node on one of the four sides either fully or in a smaller size depending on available space (or not at all when there is too little space).&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/dlemmermann/status/1780123562163961858" target="_blank" rel="noopener noreferrer"&gt;Circle progress indicator&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/dlemmermann/status/1780122006823883068" target="_blank" rel="noopener noreferrer"&gt;EnhancedPasswordField&lt;/a&gt;
, which gives you additional capabilities compared to the standard #avaFX password field (e.g. &amp;ldquo;show password&amp;rdquo;).&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/dlemmermann/status/1780123785334522160" target="_blank" rel="noopener noreferrer"&gt;Tree and graph view&lt;/a&gt;
.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-4-conferences"&gt;Conferences&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.qfs.de/en/blog/article/javafx-more-alive-than-ever.html" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Gregor Schmid&lt;/strong&gt; wrote a blog about the JFX Adopters Meeting in Munich&lt;/a&gt;
: &amp;ldquo;JavaFX &amp;ndash; More alive than ever. It was an impressive demonstration of the diverse activities of the FX world: organized with a lot of passion by &lt;strong&gt;Christian Heilmann&lt;/strong&gt;.&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/mraible/status/1778156667764408768" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Matt Raible&lt;/strong&gt; shared&lt;/a&gt;
: &amp;ldquo;This was an awesomely energetic talk by &lt;strong&gt;Sean Phillips&lt;/strong&gt;! I enjoyed it immensely. Check out his Trinity project which can detect AI-generated audio in minutes. Built with JavaFX.&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-5-tutorials"&gt;Tutorials&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;New tutorial by &lt;a href="https://twitter.com/Polypragmatist" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Dave Barrett&lt;/strong&gt;&lt;/a&gt;
: &lt;a href="https://www.pragmaticcoding.ca/javafx/elements/events_and_listeners" target="_blank" rel="noopener noreferrer"&gt;EventHandlers, Listeners and Bindings - What to Use Where&lt;/a&gt;
: &amp;ldquo;The more that I work with JavaFX, the more that I am convinced that it is one of the best frameworks for building &amp;ldquo;Reactive User Interfaces&amp;rdquo; that&amp;rsquo;s out there.&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/iAbhinay" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Abhinay Agarwal&lt;/strong&gt;&lt;/a&gt;
 wrote a blog post: &lt;a href="https://abhinay.xyz/javafx/2024/04/06/Platform-preferences-API.html" target="_blank" rel="noopener noreferrer"&gt;Platform preferences API: ColorScheme usage&lt;/a&gt;
: &amp;ldquo;JavaFX 22 introduces several new features and enhancements. One of the notable additions is the Platform preferences API, which provides developers with a convenient way to access platform-specific preferences and adapt their applications accordingly. In this blog post, we&amp;rsquo;ll explore the new APIs and demonstrate how to leverage them in your JavaFX applications.&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/hantsy/quarkus-cargotracker-regapp" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Hantsy Bai&lt;/strong&gt; rewrote the Cargotracker regapp in Quarkus and JavaFX&lt;/a&gt;
: &amp;ldquo;The original Cargotracker regapp from Eric&amp;rsquo;s DDD book sample was written in Swing and Spring. I have created a variant of CargoTracker Regapp (CDI/Weld + JavaFX) to submit handling events to the cargotracker core system (forked from eclipse-ee4j/cargotracker).&amp;rdquo;&lt;/li&gt;
&lt;li&gt;The blog and videos by &lt;strong&gt;Frank Delporte&lt;/strong&gt; &amp;ldquo;Search in Documentation with a JavaFX ChatGPT-like LangChain4j Application&amp;rdquo; are now also &lt;a href="https://foojayio.github.io/website/today/search-in-documentation-with-a-javafx-chat-langchain4j-application/"&gt;published on Foojay&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/Loic__Lefevre/" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Loïc Lefèvre&lt;/strong&gt;&lt;/a&gt;
 wrote on Medium: &amp;ldquo;&lt;a href="https://medium.com/db-one/building-javafx-app-native-image-with-graalvm-new-achievement-unlocked-c5e236ecf11d" target="_blank" rel="noopener noreferrer"&gt;Building JavaFX app native image with GraalVM: New achievement unlocked!&lt;/a&gt;
&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/RB_Bhatti_171/status/1776931544688734495" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Rushi Bhatti&lt;/strong&gt; shared a video showing three small JavaFX experiments&lt;/a&gt;
, you can find the &lt;a href="https://github.com/RushiBhatti/JavaFX_Projects" target="_blank" rel="noopener noreferrer"&gt;sources on GitHub&lt;/a&gt;
:
&lt;ul&gt;
&lt;li&gt;Tic Tac Toe (basic gameplay)&lt;/li&gt;
&lt;li&gt;BMI Calculator (calculates your Body Mass Index)&lt;/li&gt;
&lt;li&gt;Indian Flag (a simple tribute)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/agoncal/status/1783732219615297908" target="_blank" rel="noopener noreferrer"&gt;Small code example by &lt;strong&gt;Manfred Riem&lt;/strong&gt;&lt;/a&gt;
: &amp;ldquo;Having some fun with JavaFX. How do you &lt;a href="https://manorrock.com/blog/2024/04/25/add_a_tooltip_to_a_cell_in_a_table_view.html" target="_blank" rel="noopener noreferrer"&gt;add a ToolTip to a cell in a TableView&lt;/a&gt;
?&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-6-miscellaneous"&gt;Miscellaneous&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://twitter.com/SeanMiPhillips/status/1775836658304201122" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Sean Phillips&lt;/strong&gt; played around with 3D cylindrical projections&lt;/a&gt;
: &amp;ldquo;Setup a system that can convert the pixels of an image to a 3D scatter plot wrapped around a cylindrical projection, using the color hue as an elevation offset to the base radius.&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;WhiteWoodCity&lt;/strong&gt; : &amp;ldquo;I made it, I made it. Successfully use &lt;a href="https://twitter.com/WhiteWoodCity/status/1773700873077547085" target="_blank" rel="noopener noreferrer"&gt;Vulkan to create a triangle and then export to the javafx writable image to display it&lt;/a&gt;
.&amp;rdquo; Check &lt;a href="https://github.com/chengenzhao/java-vulkan-mac" target="_blank" rel="noopener noreferrer"&gt;GitHub for the source code&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/ppavel24/status/1775603966262358253" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Pavel Perikov&lt;/strong&gt; shared a video&lt;/a&gt;
: &amp;ldquo;I just wanted to experiment with the canvas rasterisation performance, but now I developed some empathy to the life of the 1000 circles involved.&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/P_Duke/status/1777678966746161226" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Pedro Duque Vieira&lt;/strong&gt; created a song with Suno&lt;/a&gt;
: &amp;ldquo;JavaFX all the Way&amp;rdquo;&amp;hellip;!
&lt;ul&gt;
&lt;li&gt;And &lt;a href="https://twitter.com/AlmasBaim/status/1777381482257944904" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Almas Baim&lt;/strong&gt; did something similar with FXGL&lt;/a&gt;
.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Sean Phillips&lt;/strong&gt; is &amp;ldquo;so &lt;a href="https://twitter.com/SeanMiPhillips/status/1777434462478803387" target="_blank" rel="noopener noreferrer"&gt;close to having a Cylindrical Surface projection&lt;/a&gt;
 based on an arbitrary data grid working&amp;hellip;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;For macOS 14 users: &lt;a href="https://twitter.com/hansolo_/status/1778774663939707037" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Gerrit Grunwald&lt;/strong&gt; published a new version of JDKUpdater&lt;/a&gt;
 with the ability to download builds of OpenJDK from different distributions, with or without JavaFX included. &lt;a href="https://github.com/HanSolo/JDK-Updater/releases" target="_blank" rel="noopener noreferrer"&gt;Sources and releases are available on GitHub&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;Do you want to use JavaFX on the Raspberry Pi? Thanks to contributions by &lt;a href="https://mstdn.gsi.li/@eitch" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Robert von Burg&lt;/strong&gt;&lt;/a&gt;
, the &lt;a href="https://github.com/Pi4J/pi4j-example-javafx" target="_blank" rel="noopener noreferrer"&gt;Pi4J JavaFX example project&lt;/a&gt;
 downloads JavaFX 22 from the Gluon website automatically when you build the application with Maven.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-7-jfx-central"&gt;JFX Central&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;On Foojay.io, you can find an &lt;a href="https://foojayio.github.io/website/today/javafx-links-of-march-2024/"&gt;overview of all the JavaFX Links of March&lt;/a&gt;
.&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
&lt;br /&gt;</description></item><item><title>JavaFX Links of March 2024</title><link>https://foojayio.github.io/website/today/javafx-links-of-march-2024/</link><pubDate>Sun, 31 Mar 2024 08:39:00 +0000</pubDate><guid>https://foojayio.github.io/website/today/javafx-links-of-march-2024/</guid><description>&lt;p&gt;Here is the overview of the JavaFX LinksOfTheMonth of March 2024, published on &lt;a href="https://www.jfx-central.com/" target="_blank" rel="noopener noreferrer"&gt;jfx-central.com&lt;/a&gt;
 during this month.&lt;/p&gt;
&lt;h2 id="h2-0-components-libraries-tools"&gt;Components, Libraries, Tools&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Pedro Duque Vieira&lt;/strong&gt; integrated this &lt;a href="https://github.com/dukke/FXThemes/pull/2" target="_blank" rel="noopener noreferrer"&gt;pull request in FXThemes&lt;/a&gt;
: &amp;ldquo;&lt;a href="https://twitter.com/P_Duke/status/1762488686313120185" target="_blank" rel="noopener noreferrer"&gt;True Dark Mode is now also available on Mac&lt;/a&gt;
. All thanks to &lt;a href="https://twitter.com/carldea" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Carl Dea&lt;/strong&gt;&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;Not new, but &lt;a href="https://twitter.com/siedlerchr/status/1762439783236636842" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;siedlerchr&lt;/strong&gt; pointed&lt;/a&gt;
 us on &lt;a href="https://github.com/tobiasdiez/EasyBind" target="_blank" rel="noopener noreferrer"&gt;EasyBind&lt;/a&gt;
: &amp;ldquo;Leverages lambdas to reduce boilerplate when creating custom bindings, providing a type-safe alternative to Bindings.select* methods and provides enhanced bindings support for Optional.&amp;rdquo; It&amp;rsquo;s a fork by &lt;a href="https://twitter.com/tobias_diez" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Tobias Diez&lt;/strong&gt;&lt;/a&gt;
 of an older project by &lt;a href="https://twitter.com/tomas_mikula" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Tomas Mikula&lt;/strong&gt;&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;This month Java 22 and JavaFX 22 got released! Here are the &lt;a href="https://github.com/openjdk/jfx/blob/master/doc-files/release-notes-22.md" target="_blank" rel="noopener noreferrer"&gt;release notes of JavaFX 22&lt;/a&gt;
, including:
&lt;ul&gt;
&lt;li&gt;An important change for animations (&lt;a href="https://bugs.openjdk.org/browse/JDK-8324658" target="_blank" rel="noopener noreferrer"&gt;JDK-8324658&lt;/a&gt;
): the Animation methods play, start, stop, and pause may now be called on any thread.&lt;/li&gt;
&lt;li&gt;8 enhancements&lt;/li&gt;
&lt;li&gt;80 fixed bugs&lt;/li&gt;
&lt;li&gt;3 security fixes&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;You can download JavaFX 22 here:
&lt;ul&gt;
&lt;li&gt;As a separate SDK from the &lt;a href="https://gluonhq.com/products/javafx/" target="_blank" rel="noopener noreferrer"&gt;Gluon website&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;Or included with a Java JDK from, e.g., the &lt;a href="https://www.azul.com/downloads/?version=java-22-sts&amp;amp;package=jdk-fx#zulu" target="_blank" rel="noopener noreferrer"&gt;Azul website&lt;/a&gt;
.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Release highlights of JavaFX 22 can &lt;a href="https://openjfx.io/highlights/22/" target="_blank" rel="noopener noreferrer"&gt;be found here&lt;/a&gt;
.
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://twitter.com/iAbhinay/status/1770347967536419186" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Abhinay Agarwal&lt;/strong&gt; highlights this one&lt;/a&gt;
: &amp;ldquo;This release includes &amp;lsquo;Platform preferences API&amp;rsquo; which allows developers to style their apps in accordance with the appearance of the OS.&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Kevin Rushforth&lt;/strong&gt; published a &lt;a href="https://github.com/kevinrushforth/jfx/blob/javafx.incubator/INCUBATOR-MODULES.md" target="_blank" rel="noopener noreferrer"&gt;description of JavaFX Incubator Modules&lt;/a&gt;
.
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://twitter.com/P_Duke/status/1770840921753502170" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Pedro Duque Vieira&lt;/strong&gt; explains&lt;/a&gt;
: &amp;ldquo;These new modules will exist in the JavaFX SDK. They&amp;rsquo;ll be the home of features that are still under review, to possibly later be included as final stable features. One such feature will likely be the Rich Text Area.&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;In the Oracle Java 22 Launch Stream, &lt;a href="https://www.youtube.com/watch?v=AjjAZsnRXtE&amp;amp;t=4685s" target="_blank" rel="noopener noreferrer"&gt;Kevin Rushforth talked about &amp;ldquo;JavaFX 22 and Beyond&amp;rdquo;&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://jdk.java.net/javafx23/" target="_blank" rel="noopener noreferrer"&gt;JavaFX 23 Early-Access Builds&lt;/a&gt;
 are available.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-1-applications"&gt;Applications&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://twitter.com/PatrikKarlstrom/status/1762215364845244834" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Patrik Karlström&lt;/strong&gt; announced the release of Mapollage 3.0.0&lt;/a&gt;
: &amp;ldquo;3 yrs later, on the very day! The KML generator of geotagged images for GoogleEarth. This is a major rewrite of the UI, combining NetBeans Platform and JavaFX.&amp;rdquo; &lt;a href="https://github.com/trixon/mapollage/releases/tag/v3.0.0" target="_blank" rel="noopener noreferrer"&gt;Sources and downloads are available on GitHub&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/invokecoley/status/1764991484808380927" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Matt Coley&lt;/strong&gt; shared a video&lt;/a&gt;
: &amp;ldquo;Re-creating Intellij&amp;rsquo;s &amp;ldquo;Search Everywhere&amp;rdquo; panel in Recaf 4X&amp;rdquo;.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/P_Duke/status/1767940438177055123" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Pedro Duque Vieira&lt;/strong&gt; announced version 4 of HERO&lt;/a&gt;
, a tool which provides next-generation energy modelling capabilities. Here are the &lt;a href="https://blog.hero-software.com.au/hero-v4-0-released-whats-new/" target="_blank" rel="noopener noreferrer"&gt;release notes&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/logorrr/status/1768167973276057712" target="_blank" rel="noopener noreferrer"&gt;A video of LogoRRR displaying data more densely&lt;/a&gt;
, &amp;ldquo;and a tad nicer.&amp;rdquo;&lt;/li&gt;
&lt;li&gt;JabRef immediately &lt;a href="https://foojay.social/@jabref/112124226121637837" target="_blank" rel="noopener noreferrer"&gt;bumped to version 22&lt;/a&gt;
: &amp;ldquo;We just updated to the newest version of JavaFX 22, and it works fine so far! Great to see so many bugs fixed!&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Carl Dea&lt;/strong&gt; shared &amp;ldquo;a &lt;a href="https://twitter.com/carldea/status/1768673053213347911" target="_blank" rel="noopener noreferrer"&gt;glimpse of a responsive layout for a landing page&lt;/a&gt;
. Clinical interface terminology system (knowledge base).&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-2-games"&gt;Games&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;One of the students of &lt;strong&gt;Almas Baim&lt;/strong&gt; built a &lt;a href="https://twitter.com/AlmasBaim/status/1770767408896110958" target="_blank" rel="noopener noreferrer"&gt;dungeon layout generator for FXGL&lt;/a&gt;
: &amp;ldquo;Once the API is finalised, it will be available from the next release.&amp;rdquo;
&lt;ul&gt;
&lt;li&gt;He also shared a &lt;a href="https://twitter.com/AlmasBaim/status/1768709121136599320" target="_blank" rel="noopener noreferrer"&gt;video of a rotating cube with rotating cubes with rotating cubes with&amp;hellip;&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;And &lt;a href="https://twitter.com/AlmasBaim/status/1770842307169857714" target="_blank" rel="noopener noreferrer"&gt;another one video&lt;/a&gt;
: &amp;ldquo;In the next release of FXGL the pathfinding API treats all grid based data structures in the same way. This means mazes, dungeons, maps, levels, including custom types, are all easily traversable by entities using pathfinding.&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/AlmasBaim/status/1772682076673782087" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Almas Baim&lt;/strong&gt; announced version 21.1 of FXGL&lt;/a&gt;
:
&lt;ul&gt;
&lt;li&gt;new module fxgl-intelligence: speech recognition, hand tracking, text to speech&lt;/li&gt;
&lt;li&gt;mazes/dungeons/grids can utilise A* pathfinding up to 8 directions&lt;/li&gt;
&lt;li&gt;completed QuestService implementation&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/AlmasB/FXGL/releases/tag/21.1" target="_blank" rel="noopener noreferrer"&gt;Full change log, with 5 new contributors, is here&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;And he published a &lt;a href="https://www.youtube.com/watch?v=hdPspgAetQk" target="_blank" rel="noopener noreferrer"&gt;video on YouTube: &amp;ldquo;FXGL 21.1 Tutorial: Speech Recognition in Java&amp;rdquo;&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/orango_mango/status/1771786912363131183" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;OrangoMango&lt;/strong&gt; announced version 2.0 of Reflection&lt;/a&gt;
: &amp;ldquo;Can you beat all the current 30 levels? New levels, new mechanic, bugfix, new textures, android version and much more. &lt;a href="https://orangomango.itch.io/reflection" target="_blank" rel="noopener noreferrer"&gt;Play it in the browser or download it&lt;/a&gt;
 for Windows, Linux, Mac or Android.&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-3-components-libraries-tools"&gt;Components, Libraries, Tools&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Dirk Lemmermann&lt;/strong&gt; has been very productive this week&amp;hellip;
&lt;ul&gt;
&lt;li&gt;Added a &lt;a href="https://twitter.com/dlemmermann/status/1770757809698697560" target="_blank" rel="noopener noreferrer"&gt;few more features to the DrawerStackPane in GemsFX&lt;/a&gt;
: &amp;ldquo;You can now configure the animation duration and the top and side paddings.&amp;rdquo;&lt;/li&gt;
&lt;li&gt;Added &lt;a href="https://twitter.com/dlemmermann/status/1770415222815092963" target="_blank" rel="noopener noreferrer"&gt;field validation via ValidatorFX to the dialog framework in GemsFX&lt;/a&gt;
: &amp;ldquo;Will be part of next release.&amp;rdquo;&lt;/li&gt;
&lt;li&gt;Added a &lt;a href="https://twitter.com/dlemmermann/status/1770136937044541910" target="_blank" rel="noopener noreferrer"&gt;&amp;lsquo;PowerPane&amp;rsquo; to GemsFX&lt;/a&gt;
: &amp;ldquo;&amp;hellip; the mother of all panes &amp;hellip; combining a glass pane, a drawer pane, hidden panes, dialog pane, info center (notification) pane. Basically something that will give you a great quick-start when creating a new app in JavaFX.&amp;rdquo; Check the thread on Twitter for more screenshots.&lt;/li&gt;
&lt;li&gt;&amp;ldquo;Implemented my own &lt;a href="https://twitter.com/dlemmermann/status/1768640804820488349" target="_blank" rel="noopener noreferrer"&gt;&amp;lsquo;Friday Fun Component&amp;rsquo;&lt;/a&gt;
 now that &lt;a href="https://twitter.com/hansolo_" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Gerrit Grunwald&lt;/strong&gt;&lt;/a&gt;
 is mostly on &lt;a href="https://docs.azul.com/core/crac/crac-introduction" target="_blank" rel="noopener noreferrer"&gt;CRaC&lt;/a&gt;
 🙂 We needed an &amp;rsquo;energy efficiency&amp;rsquo; display for our energy software at &lt;a href="https://twitter.com/SenaptEaaS" target="_blank" rel="noopener noreferrer"&gt;Senapt&lt;/a&gt;
.&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;And and update by &lt;strong&gt;Pedro Duque Vieira&lt;/strong&gt; : &amp;ldquo;Work in progress (continued - very close to finished): &lt;a href="https://twitter.com/P_Duke/status/1770112311300083931" target="_blank" rel="noopener noreferrer"&gt;Navigation Control&lt;/a&gt;
. When shrunk, show popup menus when clicking items - scroll bar shows when items exceed space. And animations when shrinking and expanding.&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-4-podcast-video-books"&gt;Podcast, Video, Books&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;A &lt;a href="https://foojay.social/deck/@frankdelporte/112007776688012320" target="_blank" rel="noopener noreferrer"&gt;new version of the ebook by &lt;strong&gt;Frank Delporte&lt;/strong&gt;&lt;/a&gt;
, &amp;ldquo;Getting Started with Java on the Raspberry Pi&amp;rdquo;, is &lt;a href="https://webtechie.be/books/" target="_blank" rel="noopener noreferrer"&gt;now available here&lt;/a&gt;
. It contains 20 extra pages describing a joystick-controlled game with &lt;a href="https://pi4j.com/" target="_blank" rel="noopener noreferrer"&gt;Pi4J&lt;/a&gt;
 and the JavaFX &lt;a href="https://www.jfx-central.com/libraries/fxgl" target="_blank" rel="noopener noreferrer"&gt;FXGL game-library&lt;/a&gt;
 of &lt;a href="https://twitter.com/AlmasBaim" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Almas Baim&lt;/strong&gt;&lt;/a&gt;
.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-5-conferences"&gt;Conferences&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://twitter.com/wolflook/status/1765356417760760283" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Wolfgang Weigend&lt;/strong&gt; shared some pictures of the JFX Adopters Meeting&lt;/a&gt;
: &amp;ldquo;Thanks a lot for attending my session about JavaFX technology at Zeiss Meditec in Munich.&amp;rdquo;&lt;/li&gt;
&lt;li&gt;If you attend &lt;a href="https://twitter.com/devnexus" target="_blank" rel="noopener noreferrer"&gt;DEVNEXUS (Apr 9-11, 2024, Atlanta, GA)&lt;/a&gt;
, make sure to attend this talk: &lt;a href="https://devnexus.com/presentations/java-javafx-and-life-on-jupiter-s-europa/" target="_blank" rel="noopener noreferrer"&gt;Java, JavaFX, and Life on Jupiter&amp;rsquo;s Europa&lt;/a&gt;
 by &lt;strong&gt;Jordi Turner&lt;/strong&gt; and &lt;strong&gt;Scott Turner&lt;/strong&gt;: &amp;ldquo;To achieve this, we created an infrastructure in Java that allows us to responsively render and interact with maps and space views by combining JavaFX and AWT in a multi-threaded approach. This approach has been extremely successful, and now supports missions outside of Europa Clipper, analyzing spacecraft and data around Saturn, Venus, the Moon, and all the way back to Earth.&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-6-tutorials"&gt;Tutorials&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://twitter.com/Polypragmatist" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Dave Barrett&lt;/strong&gt;&lt;/a&gt;
 published a long article with a lot of example code &lt;a href="https://www.pragmaticcoding.ca/javafx/subscribe_and_map" target="_blank" rel="noopener noreferrer"&gt;about new Binding and Listener features added to JavaFX in versions 19 and 21&lt;/a&gt;
: &amp;ldquo;I looked at the JavaDocs page for ObservableValue in both JFX 16 and 21. There are just 3 methods in JFX 16: addListener(), getValue(), and removeListener(). There are 9 methods in the JFX 21 version. Those 6 new methods (plus one in Observable) are what we are going to look at in this article. And yes, these are game changers!&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/CarlWalkerDrums" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Carl Walker&lt;/strong&gt;&lt;/a&gt;
 published an &lt;a href="https://www.bekwam.net/javafx/custom-dialog.html" target="_blank" rel="noopener noreferrer"&gt;article on using custom JavaFX Dialog subclasses&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;The JavaFX standard library doesn&amp;rsquo;t provide a number-only input field. But with &lt;a href="https://codestore.cloud/public-snippets/c352ebe8-0045-acef-b59a-22efa873dc12" target="_blank" rel="noopener noreferrer"&gt;this short snippet&lt;/a&gt;
, provided by &lt;a href="https://twitter.com/FranzDeschler/status/1761707840970904014" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Franz Deschler&lt;/strong&gt;&lt;/a&gt;
, you can create your own component, that limits the possible input characters to only numbers.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://devcodef1.com/news/1172964/javafx-in-intellij-idea" target="_blank" rel="noopener noreferrer"&gt;Creating a JavaFX Project in IntelliJ IDEA: A Step-by-Step Guide&lt;/a&gt;
 on Dev Code F1.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Frank Delporte&lt;/strong&gt; wrote a blog post, including two &amp;ldquo;Code Walk-Trough&amp;rdquo; videos: &amp;ldquo;&lt;a href="https://webtechie.be/post/2024-03-18-search-documentation-javafx-chat-langchain4j/" target="_blank" rel="noopener noreferrer"&gt;Search in Documentation with a JavaFX ChatGPT-like LangChain4j Application&lt;/a&gt;
&amp;rdquo;.&lt;/li&gt;
&lt;li&gt;JetBrains published an update of their IntelliJIDEA tutorial: &lt;a href="https://www.jetbrains.com/help/idea/javafx.html" target="_blank" rel="noopener noreferrer"&gt;Create a new JavaFX project&lt;/a&gt;
.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-7-miscellaneous"&gt;Miscellaneous&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://twitter.com/shannah78/status/1764028712943751539" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Steve Hannah&lt;/strong&gt;&lt;/a&gt;
 published a post: &lt;a href="https://jdeploy.substack.com/p/jdeploy-vs-jpackage" target="_blank" rel="noopener noreferrer"&gt;&amp;ldquo;jDeploy vs jpackage - When does it make sense to distribute your Java desktop app with jDeploy vs jpackage&amp;rdquo;&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/bazlur_rahman" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Bazlur Rahman&lt;/strong&gt;&lt;/a&gt;
 created a &lt;a href="https://www.linkedin.com/pulse/fractal-journeys-javafx-exploration-a-n-m-bazlur-rahman-rfkjc/" target="_blank" rel="noopener noreferrer"&gt;Mandelbrot fractal using JavaFX&lt;/a&gt;
 with the help of Gemini LLM. The &lt;a href="https://github.com/rokon12/Mandelbrot" target="_blank" rel="noopener noreferrer"&gt;code is available here&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;A &lt;a href="https://twitter.com/SeanMiPhillips/status/1764341506725286256" target="_blank" rel="noopener noreferrer"&gt;shout-out from &lt;strong&gt;Sean Phillips&lt;/strong&gt;&lt;/a&gt;
 to &lt;a href="https://twitter.com/GeertjanW" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Geertjan Wielenga&lt;/strong&gt;&lt;/a&gt;
: &amp;ldquo;&amp;hellip;for investing so much of his personal time providing many helpful articles over the years.&amp;rdquo; in a reaction to a &lt;a href="https://twitter.com/jaimin_chovatia/status/1763977378030661739" target="_blank" rel="noopener noreferrer"&gt;Tweet by &lt;strong&gt;CJ&lt;/strong&gt;&lt;/a&gt;
: &amp;ldquo;&amp;hellip;due to my curiosity in desktop app development, I learned JavaFX to some extent and utilized NetBeans to create applications back in 2018-19&amp;rdquo;.&lt;/li&gt;
&lt;li&gt;A really great research and JavaFX insights by &lt;a href="https://twitter.com/crschnick" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Christopher Schnick&lt;/strong&gt;&lt;/a&gt;
 on &lt;a href="https://twitter.com/foojayio" target="_blank" rel="noopener noreferrer"&gt;Foojay&lt;/a&gt;
, showing &lt;a href="https://foojayio.github.io/website/today/javafx-on-wsl/"&gt;how to run standalone JavaFX applications on exotic Linux systems like the Windows Subsystem for Linux or some embedded systems&lt;/a&gt;
!&lt;/li&gt;
&lt;li&gt;&amp;ldquo;Pi Day just got more fun! Visualizing Pi with a JavaFX simulation&amp;rdquo;, a video by &lt;strong&gt;ANM Bazlur Rahman&lt;/strong&gt; in a &lt;a href="https://www.linkedin.com/posts/bazlur_javafx-piday-montecarlo-activity-7174005135688261632-4Vcj" target="_blank" rel="noopener noreferrer"&gt;LinkedIn post&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://blog.jabref.org/2024/03/11/JabRef-20-years-start/" target="_blank" rel="noopener noreferrer"&gt;JabRef posted a first blog&lt;/a&gt;
 of a series of posts on the 20 years anniversary of JabRef, talking with one of the early contributors &lt;strong&gt;David Weitzman&lt;/strong&gt;. He started contributing to JabRef while he was in high school.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/WhiteWoodCity/status/1765709277384384864" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;WhiteWoodCity&lt;/strong&gt; created a Vulkan example&lt;/a&gt;
 and is &amp;ldquo;now heading for the integration of Vulkan rendering with JavaFX PixelBuffer.&amp;rdquo;. Source code is &lt;a href="https://github.com/chengenzhao/java-vulkan-mac" target="_blank" rel="noopener noreferrer"&gt;available on GitHub&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/AlmasBaim/status/1768364472798691780" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Almas Baim&lt;/strong&gt; seems to be struggling with events and the Garbage Collector&lt;/a&gt;
: &amp;ldquo;GC: &lt;em&gt;sweeping quietly in the background&lt;/em&gt; Why are you all looking at me?&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/SwiftVideoBlog/status/1770307570911031724" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Sergey&lt;/strong&gt; has a question about mobile JavaFX development&lt;/a&gt;
: &amp;ldquo;I am very happy to see JavaFX being actively developed and supported. I wonder though how many developers use it for Mobile app development? Is there any recent data available to see the adoption of this technology?&amp;rdquo;&lt;/li&gt;
&lt;li&gt;Discussion on Reddit: &lt;a href="https://www.reddit.com/r/JavaFX/comments/1bodn5q/javafx_at_oracle_present_and_future/" target="_blank" rel="noopener noreferrer"&gt;JavaFX at Oracle, present and future?&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://mastodon.social/@johanvos/112155358077106884" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Johan Vos&lt;/strong&gt; gets irritated&amp;hellip;&lt;/a&gt;
: &amp;ldquo;Even very smart people who I admire don&amp;rsquo;t realize that the &amp;lsquo;We have to write 3 clients (ios/android/web)&amp;rsquo; is wrong. You &lt;em&gt;can&lt;/em&gt; do that, but technically there is no reason not to use Java once, and run it everywhere. Granted, the tools/docs/samples for Java Everywhere are way behind the web-copy-paste stuff. Nothing to do with technical stuff. It just doesn&amp;rsquo;t fit in the big tech revenue models. So what?&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/SeanMiPhillips/status/1772343662447317204" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Sean Phillips&lt;/strong&gt; on Twitter&lt;/a&gt;
: &amp;ldquo;JavaFX is fun what can I say. It&amp;rsquo;s great at combining 2D controls and overlays with 3D scenes. This allows me to interactively measure samples from the Biden Deep Fake robocall against known fake volumes to show which were faked and which were real. Super easy, takes 3 minutes.&amp;rdquo;
&lt;ul&gt;
&lt;li&gt;He will be &lt;a href="https://twitter.com/SeanMiPhillips/status/1771606914821931474" target="_blank" rel="noopener noreferrer"&gt;presenting a new method for detecting Deep Fake Audio called Projected Volumetric Detection at DevNexus 2024&lt;/a&gt;
: &amp;ldquo;Join me in Atlanta April 9-11 if you would like to know more about how to detect AI generated Deep Fakes using Java and JavaFX.&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-8-jfx-central"&gt;JFX Central&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;A new showcase application has been added: &lt;a href="https://jfx-central.com/showcases/bktext" target="_blank" rel="noopener noreferrer"&gt;&amp;ldquo;bk.text&amp;rdquo;&lt;/a&gt;
: &amp;ldquo;An ergonomic and accessible text system for the German justice system, which supports the digital processing of court proceedings.&amp;rdquo;&lt;/li&gt;
&lt;li&gt;The overview of all the LinksOfTheWeek of February got &lt;a href="https://foojayio.github.io/website/today/javafx-links-of-february-2024/"&gt;published on Foojay.io&lt;/a&gt;
.&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
&lt;br /&gt;</description></item><item><title>Run JavaFX on the Windows Subsystem for Linux and More!</title><link>https://foojayio.github.io/website/today/javafx-on-wsl/</link><pubDate>Tue, 12 Mar 2024 16:11:56 +0000</pubDate><guid>https://foojayio.github.io/website/today/javafx-on-wsl/</guid><description>&lt;p&gt;&lt;strong&gt;What does it take to run standalone JavaFX applications on exotic Linux systems like the Windows Subsystem for Linux or some embedded systems? As you will see, not a lot! Familiarizing yourself with the native libraries required by JavaFX and the font loading process is all that is needed. Then, JavaFX applications can run on them out of the box if you set everything up correctly.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Most graphical Linux systems will automatically come with all the native libraries that are required by Java(FX) as these are pretty standard. Running a standalone Java(FX) application, which has been created with jlink or jpackage for example, on these systems works without having to put in any thought about possible dependencies. However, there are systems where this is not the case.&lt;/p&gt;</description></item><item><title>JavaFX Links of February 2024</title><link>https://foojayio.github.io/website/today/javafx-links-of-february-2024/</link><pubDate>Thu, 29 Feb 2024 09:46:49 +0000</pubDate><guid>https://foojayio.github.io/website/today/javafx-links-of-february-2024/</guid><description>&lt;p&gt;Here is the overview of the JavaFX LinksOfTheMonth of February 2024 that got published on &lt;a href="https://www.jfx-central.com/" target="_blank" rel="noopener noreferrer"&gt;jfx-central.com&lt;/a&gt;
 during this month.&lt;/p&gt;
&lt;h2 id="h2-0-core"&gt;Core&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://twitter.com/crschnick/status/1752252092029251610" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Christopher Schnick&lt;/strong&gt; shared a video&lt;/a&gt;
: &amp;ldquo;The JavaFX 22 platform preferences API in action. You can now query and observe the system color schemes..&lt;/li&gt;
&lt;li&gt;&lt;a href="https://techhub.social/@gluonhq/111901859568537205" target="_blank" rel="noopener noreferrer"&gt;Gluon announced&lt;/a&gt;
 that new EA releases for the upcoming JavaFX 22 (22-ea+28) and JavaFX 23 (23-ea+3) platforms are available for download from &lt;a href="https://gluonhq.com/products/javafx/" target="_blank" rel="noopener noreferrer"&gt;gluonhq.com&lt;/a&gt;
 and from Maven Central.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="h3-1-highlights-from-the-openjfx-dev-mailing-list"&gt;Highlights from the openjfx-dev mailing list&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Version 23 will &lt;a href="https://github.com/openjdk/jfx/pull/1370" target="_blank" rel="noopener noreferrer"&gt;bump the minimum version of the JDK needed to run JavaFX to JDK 21&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;A &lt;a href="https://github.com/andy-goryachev-oracle/Test/blob/rich.jep.review/doc/RichTextArea/RichTextArea.md" target="_blank" rel="noopener noreferrer"&gt;new feature is proposed: RichTextArea&lt;/a&gt;
. &amp;ldquo;Intended to bridge the functional gap with Swing and its StyledEditorKit/JEditorPane. The main design goal is to provide a control that is complete enough to be useful out-of-the box, as well as open to extension by the application developers. We are looking for feedback, and will update the proposal based on the suggestions we receive from the community.&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Johan Vos&lt;/strong&gt; shared the following message: &amp;ldquo;I created a &lt;a href="https://github.com/openjdk/jfx-sandbox/tree/johanvos-headless" target="_blank" rel="noopener noreferrer"&gt;branch in the jfx-sandbox repository&lt;/a&gt;
 for experimenting with a headless glass platform. This addresses &lt;a href="https://bugs.openjdk.org/browse/JDK-8324941" target="_blank" rel="noopener noreferrer"&gt;JDK-8324941&lt;/a&gt;
 where I suggest a POC for a Headless platform. There are a number of use cases for this, including:
&lt;ul&gt;
&lt;li&gt;Applications that require JavaFX rendering without presenting this to a window (and instead send it to a printer for example).&lt;/li&gt;
&lt;li&gt;Running tests without requiring a window manager.&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-2-applications"&gt;Applications&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://twitter.com/am1t_m0ndal/status/1753042932821623124" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Amit Kumar Mondal&lt;/strong&gt; announced OSGi.fx v2.4.4&lt;/a&gt;
: &amp;ldquo;Packed with enhancements, integrating Java 21 and JavaFX 21 seamlessly.&amp;rdquo; OSGi.fx is an easy-to-use desktop application to manage OSGi frameworks remotely. You can find the &lt;a href="https://github.com/amitjoy/osgifx/releases/tag/v2.4.4" target="_blank" rel="noopener noreferrer"&gt;release notes on GitHub&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Sean Phillips&lt;/strong&gt; is using the open source Trinity software for deep fake detection: &amp;ldquo;&lt;a href="https://twitter.com/SeanMiPhillips/status/1755246775504433374" target="_blank" rel="noopener noreferrer"&gt;This clip demonstrates visualizing a 3D Fast Fourier Transform (FFT)&lt;/a&gt;
 of the January 2024 deep fake of US President Biden. Trinity is written in Java using JavaFX for rendering.&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/PDFsamOSS/status/1755193888908665333" target="_blank" rel="noopener noreferrer"&gt;PDFsam released the new PDFsam Basic 5.2.2&lt;/a&gt;
: &amp;ldquo;We upgraded the bundled Java, JavaFX and few other dependencies. We also fixed/improved drag and drop of files into the selection table with autoscroll at the edges and drop of files between rows.&amp;rdquo; See the &lt;a href="https://blog.pdfsam.org/bug-fix/new-release-5-2-2-for-pdfsam-basic/2520/" target="_blank" rel="noopener noreferrer"&gt;release notes&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;David Youcef Khodja&lt;/strong&gt; &lt;a href="https://twitter.com/DavidYKhodja/status/1759703816973283401" target="_blank" rel="noopener noreferrer"&gt;shared a video of Geoptic&lt;/a&gt;
, an app to measure distances and surfaces on maps: &amp;ldquo;I&amp;rsquo;m actually using my own custom UI controls and CSS inspired by IntelliJ IDEA&amp;rdquo;, made with SpringBoot, JavaFX, Leaflet, JavaScript.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Heshan Thenura Kariyawasam&lt;/strong&gt; is &lt;a href="https://twitter.com/Heshantk/status/1758869052066329014" target="_blank" rel="noopener noreferrer"&gt;replicating Instagram&amp;rsquo;s story feature&lt;/a&gt;
: &amp;ldquo;This Java application dynamically changes background color based on the dominant color of uploaded images.&amp;rdquo; Sources are &lt;a href="https://github.com/heshanthenura/DominantBackgroundColor" target="_blank" rel="noopener noreferrer"&gt;available on GitHub&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Namuan&lt;/strong&gt; &lt;a href="https://twitter.com/deskriders_twt/status/1759688935444287993" target="_blank" rel="noopener noreferrer"&gt;shared a video of MirrOllama&lt;/a&gt;
: &amp;ldquo;Desktop application to talk to multiple models using &lt;a href="https://github.com/ollama/ollama" target="_blank" rel="noopener noreferrer"&gt;Ollama&lt;/a&gt;
 (Get up and running with large language models locally). Idea is to use multiple (up to 3) models simultaneously and select the best answer. ️I built it for my own use but hopefully useful for others as well.&amp;rdquo; Sources are &lt;a href="https://github.com/namuan/mirrollama" target="_blank" rel="noopener noreferrer"&gt;available on GitHub&lt;/a&gt;
.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-3-games"&gt;Games&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/ilyriadz/mawdja" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;ilyriadz&lt;/strong&gt; open sourced his JavaFX game engine &amp;ldquo;mawdja&amp;rdquo;&lt;/a&gt;
 and &amp;ldquo;My javafx game &lt;a href="https://ilyriadz.itch.io/almaseer-almahtoom" target="_blank" rel="noopener noreferrer"&gt;&amp;lsquo;Almaseer Almahtoom&amp;rsquo;&lt;/a&gt;
 RC1 was realized.&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Almas Baim&lt;/strong&gt; announced new speech-to-text in FXGL:
&lt;ul&gt;
&lt;li&gt;&amp;ldquo;The next version of FXGL brings the fxgl-intelligence module with a range of features. &lt;a href="https://twitter.com/AlmasBaim/status/1756048026882150872" target="_blank" rel="noopener noreferrer"&gt;The one shown in the video is text to speech&lt;/a&gt;
. The API is pure Java code. You can play with it very soon.&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&amp;ldquo;An &lt;a href="https://twitter.com/AlmasBaim/status/1756610895088636371" target="_blank" rel="noopener noreferrer"&gt;example of speech to text&lt;/a&gt;
, coming to the next version FXGL. The left app uses text to speech, the right one uses speech to text. Demo shows: Java String -&amp;gt; speech output (speakers) -&amp;gt; speech input (mic) -&amp;gt; String. Anyone wants to build speech controlled games? 😃&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Heshan Thenura Kariyawasam&lt;/strong&gt; , &lt;strong&gt;OrangoMango&lt;/strong&gt; , and &lt;strong&gt;Sean Phillips&lt;/strong&gt; are &lt;a href="https://twitter.com/SeanMiPhillips/status/1755640542120063394" target="_blank" rel="noopener noreferrer"&gt;cooperating on X and sharing experiences&lt;/a&gt;
.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-4-components-libraries-tools"&gt;Components, Libraries, Tools&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://lottie4j.com/index.html" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Frank Delporte&lt;/strong&gt; published a small update about the Lottie4J project&lt;/a&gt;
 as he is diving deeper into the Lottie-format (vector animations for the web).&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/maxandersen/status/1751725403553546275" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Max Rydahl Andersen&lt;/strong&gt; is expecting 2024 to be the year of Java on desktop&lt;/a&gt;
: &amp;ldquo;We got early &lt;a href="https://github.com/quarkiverse/quarkus-fx" target="_blank" rel="noopener noreferrer"&gt;JavaFX support for Quarkus contribution in Quarkuverse Hub&lt;/a&gt;
&amp;rdquo;.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/haltraet/status/1753728173387153866" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Hallvard Trætteberg&lt;/strong&gt;&lt;/a&gt;
 shared &lt;a href="https://github.com/hallvard/fxml-template-processor" target="_blank" rel="noopener noreferrer"&gt;fxml-template-processor on GitHub&lt;/a&gt;
: &amp;ldquo;String templates (preview in Java 21) allow you to inject expression values into strings, so you don&amp;rsquo;t need to use explicit string concatenation, StringBuilder or formatting. An important point of template strings is building other data types from the string and constrain and validate the input accordingly. This project contains a String template processor for FXML, so you can use template strings for FXML code and convert to Node structures with FXMLLoader.&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Pedro Duque Vieira&lt;/strong&gt; &lt;a href="https://twitter.com/P_Duke/status/1760765867992731766" target="_blank" rel="noopener noreferrer"&gt;shared videos showing work in progress on NavigationPane Control&lt;/a&gt;
 that&amp;rsquo;s in the FXComponents library, using the FXThemes library behind the scenes to achieve a background blur effect on the window.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-5-podcast-video-books"&gt;Podcast, Video, Books&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;For the online JChampions Conference, &lt;strong&gt;Paul and Gail Anderson&lt;/strong&gt; presented &amp;ldquo;Are You Game? Mobile Development with Modern Java, JavaFX, and GraalVM&amp;rdquo;. The video recording &lt;a href="https://www.youtube.com/watch?v=9h-BoB6UjiE" target="_blank" rel="noopener noreferrer"&gt;is available here&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;At Fosdem in Brussels, &lt;strong&gt;Frank Delporte&lt;/strong&gt; showed a JavaFX AI-Chat-application based on LangChain4J to interact with a documentation set. The &lt;a href="https://webtechie.be/post/2024-02-02-links-presentation-experiment-ai-llm-chat-with-docs/" target="_blank" rel="noopener noreferrer"&gt;video and links are available on his blog&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/wolflook/status/1744805486690537806" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Wolfgang Weigend&lt;/strong&gt; announced&lt;/a&gt;
 the &lt;a href="https://www.zeiss.com/meditec/en/news-events/events/jfx-adopters-meeting.html" target="_blank" rel="noopener noreferrer"&gt;final agenda online&lt;/a&gt;
 for the &amp;ldquo;JFX Adopters Meeting&amp;rdquo; on 6th of March 2024.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-6-tutorials"&gt;Tutorials&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Published on JavaTechOnline: &amp;ldquo;&lt;a href="https://javatechonline.com/javafx-tutorial-javafx-applications-in-java/" target="_blank" rel="noopener noreferrer"&gt;JavaFX Tutorial: How To Create Rich Desktop Applications In Java?&lt;/a&gt;
&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-7-miscellaneous"&gt;Miscellaneous&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;WebFX now &lt;a href="https://github.com/webfx-project/webfx/discussions/27" target="_blank" rel="noopener noreferrer"&gt;supports WebGL&lt;/a&gt;
: &amp;ldquo;This means that you can program a JavaFX canvas with a WebGL context in the browser.&amp;rdquo; A &lt;a href="https://cube.webfx.dev/" target="_blank" rel="noopener noreferrer"&gt;web demo is available here&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://mastodon.social/@johanvos/111838246384894266" target="_blank" rel="noopener noreferrer"&gt;Message from &lt;strong&gt;Johan Vos&lt;/strong&gt;&lt;/a&gt;
: &amp;ldquo;&lt;a href="https://mastodon.social/@laurent_bourges" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Laurent Bourges&lt;/strong&gt;&lt;/a&gt;
 is an exceptional &lt;em&gt;independent&lt;/em&gt; OpenJDK and OpenJFX contributor. I guess most of the developers using his code don&amp;rsquo;t even realise the amazing work he does. Please &lt;a href="https://mastodon.social/@laurent_bourges/111776388216851460" target="_blank" rel="noopener noreferrer"&gt;let him know how much you appreciate his work on the Marlin renderer&lt;/a&gt;
.&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/dlemmermann/status/1752347204474249564" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Dirk Lemmermann&lt;/strong&gt; is a big fan of AtlantaFX&lt;/a&gt;
: &amp;ldquo;We liked the sampler app of &lt;a href="https://www.jfx-central.com/libraries/atlantafx" target="_blank" rel="noopener noreferrer"&gt;AtlantaFX&lt;/a&gt;
 so much that we are now using it in-house for our own theming / styles app.&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-8-jfx-central"&gt;JFX Central&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.jfx-central.com/tools/webswing" target="_blank" rel="noopener noreferrer"&gt;Webswing got listed in the tools section&lt;/a&gt;
. It&amp;rsquo;s a web server that allows you to run your (old) Swing, JavaFX, NetBeans or Applet application inside your web browser in a blink of an eye. They posted a nice &lt;a href="https://twitter.com/Webswing_org/status/1753054902941556928" target="_blank" rel="noopener noreferrer"&gt;shoutout to JFX Central on Twitter/X&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;Available soon: &lt;a href="https://twitter.com/dlemmermann/status/1756715833848459656" target="_blank" rel="noopener noreferrer"&gt;new detailed icon page&lt;/a&gt;
 where you can find out everything there is to know about the icon, e.g. the Ikonli &amp;ldquo;literal&amp;rdquo; (code), the CSS rule, the Java code required, the maven / gradle dependency, the SVG path, and so on. The main reason for having this detail page is so that you can send a URL to somebody else pointing directly at a specific icon and all of its info.&lt;/li&gt;
&lt;li&gt;All the JFX Central Links Of The Week of January got &lt;a href="https://foojayio.github.io/website/today/javafx-links-of-january-2024"&gt;posted on Foojay.io&lt;/a&gt;
, the website for Friends Of OpenJDK.&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Achieving High Throughput Without Sacrificing Latency</title><link>https://foojayio.github.io/website/today/achieving-high-throughput-without-sacrificing-latency/</link><pubDate>Fri, 02 Feb 2024 09:39:47 +0000</pubDate><guid>https://foojayio.github.io/website/today/achieving-high-throughput-without-sacrificing-latency/</guid><description>&lt;h2 id="h2-0-latency-and-throughput"&gt;Latency and Throughput&lt;/h2&gt;
&lt;p&gt;In discussions on performance, it is common to encounter the terms &lt;em&gt;Latency&lt;/em&gt; and &lt;em&gt;Throughput&lt;/em&gt; to describe the characteristics of a software component.&lt;/p&gt;
&lt;p&gt;We can define these terms as follows:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Latency&lt;/strong&gt; is a measure of the time taken for one thing to occur. For example, it could be the time taken to respond to a change in the price of a financial instrument that could influence the decision on whether to buy, or sell. It could be the time taken for a component monitoring some external device to respond to an indication of a change in the status of that device (like a change in temperature reported from a thermometer).&lt;/p&gt;</description></item><item><title>JavaFX Links of January 2024</title><link>https://foojayio.github.io/website/today/javafx-links-of-january-2024/</link><pubDate>Wed, 31 Jan 2024 08:55:53 +0000</pubDate><guid>https://foojayio.github.io/website/today/javafx-links-of-january-2024/</guid><description>&lt;p&gt;This is the first JavaFX LinksOfTheMonth review for 2024, an overview of the LinksOfTheWeek that got published on &lt;a href="https://www.jfx-central.com/" target="_blank" rel="noopener noreferrer"&gt;jfx-central.com&lt;/a&gt;
 during January.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="h2-1-core"&gt;Core&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://gluonhq.com/products/javafx/" target="_blank" rel="noopener noreferrer"&gt;JavaFX 21.0.2 (January 2024) is available on the Gluon website&lt;/a&gt;
.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-2-applications"&gt;Applications&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Robert Ladstätter&lt;/strong&gt; added ZIP file support to LogoRRR: &amp;ldquo;&lt;a href="https://twitter.com/rladstaetter/status/1741795036826566704" target="_blank" rel="noopener noreferrer"&gt;No more unzipping before analysing your latest bugs from ops&lt;/a&gt;
!&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/carldea/status/1738937742984126795" target="_blank" rel="noopener noreferrer"&gt;A Christmas present by &lt;strong&gt;Carl Dea&lt;/strong&gt;&lt;/a&gt;
: &amp;ldquo;I wanted to give you a sneak peek at a JavaFX based clinical interface terminology system (knowledge base).&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Heshan Kariyawasam&lt;/strong&gt; &amp;ldquo;&lt;a href="https://www.linkedin.com/posts/heshanthenura_java-javafx-music-activity-7148745375539970048-aKXD" target="_blank" rel="noopener noreferrer"&gt;made something random today night just for fun&lt;/a&gt;
. For me it&amp;rsquo;s so satisfying to watch&amp;hellip;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Christopher Schnick&lt;/strong&gt; is working on a &lt;a href="https://twitter.com/crschnick/status/1743296483544150114" target="_blank" rel="noopener noreferrer"&gt;standalone application running on NixOS&lt;/a&gt;
 with Deepin desktop environment: &amp;ldquo;The popup windows don&amp;rsquo;t support transparency and the tray icon is cut off, but other than that it is working fine.&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Robert Ladstätter&lt;/strong&gt; published a &lt;a href="https://twitter.com/rladstaetter/status/1745586922515288416" target="_blank" rel="noopener noreferrer"&gt;new release of LogoRRR&lt;/a&gt;
: &amp;ldquo;This update brings enhanced zip file support and animated clipboard actions, alongside various bug fixes.&amp;rdquo; &lt;a href="https://github.com/rladstaetter/LogoRRR/releases/tag/24.2.0" target="_blank" rel="noopener noreferrer"&gt;Here you can find the release notes&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.linkedin.com/posts/carldea_java-javafx-activity-7153563217930125312-llns/" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Carl Dea&lt;/strong&gt; bumped versions for ScenicView&lt;/a&gt;
: &amp;ldquo;Yay, my &lt;a href="https://github.com/JonathanGiles/scenic-view" target="_blank" rel="noopener noreferrer"&gt;PR was accepted&lt;/a&gt;
 for the excellent JavaFX debugging tool ScenicView. It now works with JDK 11+ and JavaFX 21.0.1. I believe the release should be out soon, but if you want to the latest binaries just clone and build the project locally 🙂.&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/orango_mango/status/1746593368463876123" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;OrangoMango&lt;/strong&gt; is having fun with maths&lt;/a&gt;
: &amp;ldquo;Now the application automatically inverts the transformation equations and applies them to any function or quadratic equation for y.&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=5ogC95PX0Ag" target="_blank" rel="noopener noreferrer"&gt;Video with a walk-through of LogoRRR&lt;/a&gt;
: &amp;ldquo;While exploring the log files is an essential part of troubleshooting, sometimes you may not want to go so deep. In fact, when you get an error, you may simply want to see what happened as fast as possible and in a clear way. LogoRRR is a tool that does precisely that and provides you with a quick way to filter out critical events or other points of interest.&amp;rdquo;&lt;/li&gt;
&lt;li&gt;Some nice small demo applications again by &lt;a href="https://twitter.com/orango_mango" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;OrangoMango&lt;/strong&gt;&lt;/a&gt;
:
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/shorts/2T3UNo5EVXg" target="_blank" rel="noopener noreferrer"&gt;Falling sand video&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://orangomango.github.io/Clock/" target="_blank" rel="noopener noreferrer"&gt;Clock drawn on the Canvas, running in the browser&lt;/a&gt;
 with about &lt;a href="https://github.com/OrangoMango/Clock/blob/main/src/main/java/com/orangomango/clock/Clock.java" target="_blank" rel="noopener noreferrer"&gt;100 lines of code&lt;/a&gt;
.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Patrik Karlström&lt;/strong&gt; is &amp;ldquo;&lt;a href="https://twitter.com/PatrikKarlstrom/status/1750568870241280298" target="_blank" rel="noopener noreferrer"&gt;in the middle of a major facelift of mapollage&lt;/a&gt;
, a KML generator. This time combining JavaFX with NetBeans Java Platform. It&amp;rsquo;s great as usual, and now I&amp;rsquo;m using the &amp;ldquo;output window&amp;rdquo; with all it&amp;rsquo;s goodies like folding, coloring &amp;amp; links. It&amp;rsquo;s all there, for free!&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-3-games"&gt;Games&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;OrangoMango&lt;/strong&gt; made a perfect Snake AI, &lt;a href="https://twitter.com/orango_mango/status/1741480547627507809" target="_blank" rel="noopener noreferrer"&gt;check the video&lt;/a&gt;
! You can find the game (and play it) with a link to the sources on &lt;a href="https://orangomango.itch.io/snake" target="_blank" rel="noopener noreferrer"&gt;orangomango.itch.io/snake&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Almas Baim&lt;/strong&gt; published FXGL game engine 21 with:
&lt;ul&gt;
&lt;li&gt;Java and JavaFX 21&lt;/li&gt;
&lt;li&gt;Numerous dialogue editor improvements&lt;/li&gt;
&lt;li&gt;Initial hex support for Tiled&lt;/li&gt;
&lt;li&gt;Extra Image processing API&lt;/li&gt;
&lt;li&gt;Video cutscenes&lt;/li&gt;
&lt;li&gt;Full &lt;a href="https://github.com/AlmasB/FXGL/releases/tag/21" target="_blank" rel="noopener noreferrer"&gt;changelog on GitHub&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Almas also &lt;a href="https://twitter.com/AlmasBaim/status/1741128302050378091" target="_blank" rel="noopener noreferrer"&gt;found another awesome project&lt;/a&gt;
 built with JavaFX and FXGL: &amp;ldquo;Royal Demons&amp;rdquo;. From the readme: &amp;ldquo;&amp;hellip; won the Best Project Competition out of a total of 114 teams at Georgia Tech CS 2340 Objects and Design course during Spring 2021.&amp;rdquo;
&lt;ul&gt;
&lt;li&gt;And &lt;a href="https://twitter.com/AlmasBaim/status/1749742997145583662" target="_blank" rel="noopener noreferrer"&gt;he found out&lt;/a&gt;
 that: &amp;ldquo;team JavaFX is now right in the middle of JVM game projects on the 1st page of GitHub search with 3960 stars! Since FXGL is now 49.4% #Kotlin and 49.1% #Java, I had to cheat and include both &lt;code&gt;language: Java, language: Kotlin&lt;/code&gt; in &lt;a href="https://github.com/search?o=desc&amp;amp;q=java&amp;#43;game&amp;#43;language%3AJava&amp;#43;language%3AKotlin&amp;amp;s=stars&amp;amp;type=repositories" target="_blank" rel="noopener noreferrer"&gt;the search&lt;/a&gt;
.&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/maxandersen/status/1750504675630022941" target="_blank" rel="noopener noreferrer"&gt;Max Rydahl Andersen&lt;/a&gt;
 wants to collaborate with Almas to make FXGL and game development easier with JBang: &amp;ldquo;I&amp;rsquo;m happy to help to make &lt;a href="https://github.com/almasb/FXGLGames" target="_blank" rel="noopener noreferrer"&gt;FXGL example games&lt;/a&gt;
 &amp;ldquo;jbang friendly&amp;rdquo; &amp;hellip; there are lots of ways we can do that.&amp;rdquo;&lt;/li&gt;
&lt;li&gt;New &lt;a href="https://twitter.com/LondonSoftworks/status/1742674131299000615" target="_blank" rel="noopener noreferrer"&gt;video update by &lt;strong&gt;London Softworks&lt;/strong&gt;&lt;/a&gt;
: &amp;ldquo;Trying my best to work every day, so many exciting things to come in the near future! For now, enjoy a small demo of a few components (Texture, Mesh, Transformation) being fully implemented!&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/HlanHtetKyaw1/status/1742194376820814247" target="_blank" rel="noopener noreferrer"&gt;Beta preview by &lt;strong&gt;Hlan Htet Kyaw&lt;/strong&gt; of Brain Buster&lt;/a&gt;
: &amp;ldquo;Please test and provide feedback. Any help would be appreciated.&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-4-components-libraries-tools"&gt;Components, Libraries, Tools&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://twitter.com/shannah78" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Steve Hannah&lt;/strong&gt;&lt;/a&gt;
 published a new &lt;a href="https://jdeploy.substack.com/p/new-intellij-plugin-for-jdeploy" target="_blank" rel="noopener noreferrer"&gt;IntelliJ Plugin for jDeploy&lt;/a&gt;
 to create a new desktop app with automated releases on GitHub in under 2 minutes: &amp;ldquo;In addition to creating the project locally, the wizard will create a new GitHub repository, that is set up to generate new releases on every commit. Within 30 seconds of creating your project, you should be able to download and install the app from GitHub releases.&amp;rdquo;
&lt;ul&gt;
&lt;li&gt;He also shared a GitHub project as a showcase for jDeploy: &lt;a href="https://github.com/shannah/fxgl-test8" target="_blank" rel="noopener noreferrer"&gt;Sample FXGL project deployed with jDeploy via GitHub releases&lt;/a&gt;
.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Michael Gasche&lt;/strong&gt; shared a &lt;a href="https://products.autumo.ch/modules/overview#at_ui" target="_blank" rel="noopener noreferrer"&gt;showcase of a rapid development framework&lt;/a&gt;
 on the Foojay Slack with some out-of-the-box functionalities (installer, licensing/registering, app-config, update-checks, some further dialogs) for Java FX UI apps: &amp;ldquo;It has default views which can be used with a one-liner to show an HTML page, license dialog, or other content that can be switched off per platform, e.g. because the Windows installer already has one. The Registration module in the demo is a &amp;ldquo;dummy&amp;rdquo; as it is quite big and advanced and possibly involves a server.&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/laurent_bourges" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Laurent Bourgès&lt;/strong&gt;&lt;/a&gt;
 reached the milestone of +125,000 downloads of his &lt;a href="https://github.com/bourgesl/marlin-renderer" target="_blank" rel="noopener noreferrer"&gt;Marlin Renderer&lt;/a&gt;
: &amp;ldquo;An open source (GPL2 + CP) Java2D RenderingEngine optimized for performance (improved memory usage (~ no GC) and footprint, better multi-threading) and better visual quality based on OpenJDK&amp;rsquo;s Pisces implementation.&amp;rdquo; And he adds: &amp;ldquo;&lt;a href="https://mastodon.social/@laurent_bourges/111776582923358418" target="_blank" rel="noopener noreferrer"&gt;Enjoy FOSS &amp;amp; see you at FOSDEM24&lt;/a&gt;
&amp;rdquo;.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/carldea/status/1746712384725483585" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Carl Dea&lt;/strong&gt; shared a video&lt;/a&gt;
: &amp;ldquo;JavaFX with the native background blurring effect on the MacOS is now working! Thanks to &lt;a href="https://twitter.com/shannah78" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Steve Hannah&lt;/strong&gt;&lt;/a&gt;
 for the tremendous help in understanding the native side (MacOS). &lt;a href="https://github.com/carldea/windowblur" target="_blank" rel="noopener noreferrer"&gt;Demo here&lt;/a&gt;
. Eventually will end up in &lt;a href="https://twitter.com/P_Duke" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Pedro Duque Vieira&lt;/strong&gt;&lt;/a&gt;
&amp;rsquo;s FXThemes project. I also want to give a shout-out to the amazing software engineer &lt;a href="https://github.com/beldenfox" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Martin Fox&lt;/strong&gt;&lt;/a&gt;
 (a JavaFX contributor).&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/P_Duke/status/1750632079430189283" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Pedro Duque Vieira&lt;/strong&gt; is asking for help testing out FXThemes&lt;/a&gt;
: &amp;ldquo;If you have a machine running Windows 10 can you run the fxthemes-samples subproject and tell me if the window that shows up has a background blur? The project is using Java17 for now&amp;hellip;&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-5-podcast-video-books"&gt;Podcast, Video, Books&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;The &lt;a href="https://www.youtube.com/watch?v=IufaUwDsHUA" target="_blank" rel="noopener noreferrer"&gt;recording of the live stream&lt;/a&gt;
 by &lt;strong&gt;Frank Delporte&lt;/strong&gt; and &lt;strong&gt;Almas Baim&lt;/strong&gt; provides a code walk-through of this blog post: &lt;a href="https://webtechie.be/post/2023-12-14-jbang-fxgl/" target="_blank" rel="noopener noreferrer"&gt;A JavaFX Game Application in a Single Java File with JBang and FXGL&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;New book by &lt;strong&gt;Peter Späth&lt;/strong&gt; : &lt;a href="https://www.amazon.nl/Frontend-Development-JavaFX-Kotlin-State/dp/1484297164" target="_blank" rel="noopener noreferrer"&gt;Frontend Development with JavaFX and Kotlin: Build State-of-the-Art Kotlin GUI Applications&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;Nice video by &lt;strong&gt;Akif (Sorest) Karaca&lt;/strong&gt; to help you &lt;a href="https://www.youtube.com/watch?v=HmoRQkmyPnk" target="_blank" rel="noopener noreferrer"&gt;understand different sorting algorithms&lt;/a&gt;
 (selection, insertion, quick, bubble, heap, shell) by visualizing them with JavaFX (in Turkish).&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.linkedin.com/in/kinsley-kajiva/" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Kinsley Kajiva&lt;/strong&gt;&lt;/a&gt;
 published a video: &amp;ldquo;&lt;a href="https://www.youtube.com/watch?v=PYv9Pp-Wu3c" target="_blank" rel="noopener noreferrer"&gt;Ripple WebRTC - JavaFX G Streamer Demo&lt;/a&gt;
.&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://airhacks.fm/#episode_278" target="_blank" rel="noopener noreferrer"&gt;Airhacks #278: &amp;ldquo;Java at Azul: The Interesting Features&amp;rdquo;&lt;/a&gt;
: &lt;a href="https://twitter.com/AdamBien" target="_blank" rel="noopener noreferrer"&gt;Adam Bien&lt;/a&gt;
 talks with &lt;a href="https://twitter.com/hansolo_" target="_blank" rel="noopener noreferrer"&gt;Gerrit Grunwald&lt;/a&gt;
 about Java desktop applications with Swing and JavaFX + many other topics.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-6-tutorials"&gt;Tutorials&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://twitter.com/tobiasbriones_" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Tobias Briones&lt;/strong&gt;&lt;/a&gt;
 added &lt;a href="https://blog.mathsoftware.engineer/drawing-a-rounded-triangle-via-quadratic-curves-2023-12-22" target="_blank" rel="noopener noreferrer"&gt;support for rounded triangles&lt;/a&gt;
 to the Canvas Play JavaFX project using quadratic Bézier curves.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://examples.javacodegeeks.com/examples-of-transformations-in-javafx/" target="_blank" rel="noopener noreferrer"&gt;Examples of Transformations in JavaFX&lt;/a&gt;
 by &lt;a href="https://twitter.com/OAziegbe" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Omozegie Aziegbe&lt;/strong&gt;&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/techbuddy_dev" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Tech Buddy&lt;/strong&gt;&lt;/a&gt;
: &amp;ldquo;&lt;a href="https://techbuddy.dev/kotlin-tornadofx-three-layered-javafx" target="_blank" rel="noopener noreferrer"&gt;Building Three-Layered JavaFX Apps with TornadoFX and Kotlin&lt;/a&gt;
&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-7-miscellaneous"&gt;Miscellaneous&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;The &lt;strong&gt;JFX Adopters Meeting 2024&lt;/strong&gt; takes place on the 6th of March at ZEISS in Munich Germany. It&amp;rsquo;s a user meeting about JavaFX technology and the &lt;a href="https://zeiss.com/meditec/en/news-events/events/jfx-adopters-meeting.html#register" target="_blank" rel="noopener noreferrer"&gt;registration is open&lt;/a&gt;
. You can still apply to be a speaker at this event!&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Heshan Kariyawasam&lt;/strong&gt; &lt;a href="https://www.linkedin.com/posts/heshanthenura_javafx-java-night-activity-7149071331672616960-gXKa/" target="_blank" rel="noopener noreferrer"&gt;fell in love with JavaFX canvas&lt;/a&gt;
: &amp;ldquo;So I&amp;rsquo;m going to simulate night sky. I&amp;rsquo;ll try to add Constellations and Meteors so it will be more realistic.&amp;rdquo;
&lt;ul&gt;
&lt;li&gt;And he shared this &lt;a href="https://www.youtube.com/playlist?list=PLRqwX-V7Uu6ZiZxtDDRCi6uhfTH4FilpH" target="_blank" rel="noopener noreferrer"&gt;list of coding challenges&lt;/a&gt;
 that he would like to solve with JavaFX. Keep scrolling, the list is very long 😉&lt;/li&gt;
&lt;li&gt;He continues his 3D experiments&amp;hellip; &lt;a href="https://github.com/heshanthenura/TextureAndLight" target="_blank" rel="noopener noreferrer"&gt;Texture And Light on GitHub&lt;/a&gt;
 is only one of those. Follow him on &lt;a href="https://twitter.com/Heshantk" target="_blank" rel="noopener noreferrer"&gt;Twitter/X&lt;/a&gt;
 or &lt;a href="https://www.linkedin.com/in/heshanthenura/recent-activity/all/" target="_blank" rel="noopener noreferrer"&gt;LinkedIn&lt;/a&gt;
 for videos and links to sources&amp;hellip;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Want to combine Quarkus and JavaFX? Seems work is ongoing:
&lt;ul&gt;
&lt;li&gt;A lot of &lt;a href="https://github.com/quarkusio/quarkus/issues/9313" target="_blank" rel="noopener noreferrer"&gt;new comments in a Quarkus ticket&lt;/a&gt;
 started in 2020.&lt;/li&gt;
&lt;li&gt;With a link to &lt;a href="https://github.com/CodeSimcoe/quarkus-fx-extension" target="_blank" rel="noopener noreferrer"&gt;quarkus-fx-extension&lt;/a&gt;
.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://mastodon.social/@laurent_bourges/111782539726528107" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Laurent Bourgès&lt;/strong&gt; realized he needs to celebrate&lt;/a&gt;
 &amp;ldquo;10 years as openjdk committer, 10 years since first Marlin-renderer 0.3: 2014.01, and a new Marlin 0.9.4.8 release: 2024.01. I want to launch the Marlin-renderer Drawing Contest #MDC btw 01.20 and 02.03: &lt;em&gt;Please draw me a nice thing with the marlin-renderer&lt;/em&gt; in 3 categories. Submissions will be shared as png, svg, pdf files under author&amp;rsquo;s declared license. What do you think?&amp;rdquo;
&lt;ul&gt;
&lt;li&gt;Geographic maps (gis)&lt;/li&gt;
&lt;li&gt;Illustration / plans / complex charts&lt;/li&gt;
&lt;li&gt;Computer arts&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;A &lt;a href="https://www.linkedin.com/posts/heshanthenura_java-javafx-debugging-activity-7156150466643468289-GcHG/" target="_blank" rel="noopener noreferrer"&gt;tip from &lt;strong&gt;Heshan Kariyawas&lt;/strong&gt;&lt;/a&gt;
: &amp;ldquo;Before the production release of a JavaFX app on Windows using JPackage, enable the console with the &lt;code&gt;--win-console&lt;/code&gt; flag for easy debugging. However, after the production release, no debuggers are available. This tip proved very useful for me today.&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-8-jfx-central"&gt;JFX Central&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;JFX Central is on the cover page of Javamagazin 2.2024, and the article by &lt;strong&gt;Frank Delporte&lt;/strong&gt; is eight (8!) pages. A complete walkthrough of the website and interviews with &lt;strong&gt;Dirk Lemmermann&lt;/strong&gt; , &lt;strong&gt;Li Wang Yang&lt;/strong&gt; , &lt;strong&gt;Florian Kirmaier&lt;/strong&gt; , and &lt;strong&gt;Mike Hearn&lt;/strong&gt; . The &lt;a href="https://entwickler.de/java/jfx-central-javafx" target="_blank" rel="noopener noreferrer"&gt;full article is also available here&lt;/a&gt;
 (with login).&lt;/li&gt;
&lt;li&gt;The summary of our &lt;a href="https://foojayio.github.io/website/today/javafx-links-of-december-2023/"&gt;Links Of December are shared on Foojay&lt;/a&gt;
.&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Controlling LED Strips with Java and JBang</title><link>https://foojayio.github.io/website/today/controlling-led-strips-with-java-and-jbang/</link><pubDate>Mon, 22 Jan 2024 18:08:51 +0000</pubDate><guid>https://foojayio.github.io/website/today/controlling-led-strips-with-java-and-jbang/</guid><description>&lt;p&gt;One of the most &amp;ldquo;fancy&amp;rdquo; electronic components is definitely&amp;hellip; a LED strip. It&amp;rsquo;s really cool to control a long strip of lights with only a few lines of code.&lt;/p&gt;
&lt;p&gt;But, there is a problem. The timing of the signals is crucial to reliably control these strips. Both Python and Java on a Raspberry Pi can struggle with these timings as they are running on Linux, a non-real-time operating system.&lt;/p&gt;
&lt;p&gt;So, for instance, pauses in the garbage collection of the Java virtual machine, or any glitch in the operating system can cause unexpected effects on the LED strips. That&amp;rsquo;s why in most projects, a microcontroller (Arduino, Raspberry Pi Pico, ESP32,&amp;hellip;) is used to drive the LED strip.&lt;/p&gt;</description></item><item><title>JavaFX Links of December 2023</title><link>https://foojayio.github.io/website/today/javafx-links-of-december-2023/</link><pubDate>Sat, 30 Dec 2023 13:11:51 +0000</pubDate><guid>https://foojayio.github.io/website/today/javafx-links-of-december-2023/</guid><description>&lt;p&gt;This is the final JavaFX LinksOfTheMonth review for 2023.&lt;/p&gt;
&lt;p&gt;It was an amazing year with many evolutions in Java and JavaFX and a complete &amp;ldquo;fresh&amp;rdquo; version of JFX Central.&lt;/p&gt;
&lt;p&gt;Thanks for following these updates and looking forward to more of your JavaFX work in the new year&amp;hellip;&lt;/p&gt;
&lt;p&gt;This is the overview of the LinksOfTheWeek that got published on &lt;a href="https://www.jfx-central.com/" target="_blank" rel="noopener noreferrer"&gt;jfx-central.com&lt;/a&gt;
 during December.&lt;/p&gt;
&lt;h2 id="h2-0-core"&gt;Core&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;JavaFX 22 Early-Access Builds, Build 19 (2023/11/24), is available on &lt;a href="https://jdk.java.net/javafx22/" target="_blank" rel="noopener noreferrer"&gt;jdk.java.net/javafx22&lt;/a&gt;
.
&lt;ul&gt;
&lt;li&gt;Issues addressed in &lt;a href="https://bugs.openjdk.org/issues/?jql=project%20%3D%20JDK%20AND%20fixversion%20%3D%20jfx22%20and%20component%20%3d%20javafx%20and%20%22resolved%20in%20build%22%20%3d%20b18%20order%20by%20component%2C%20subcomponent" target="_blank" rel="noopener noreferrer"&gt;Build 18&lt;/a&gt;
 and &lt;a href="https://bugs.openjdk.org/browse/JDK-8319996?jql=project%20%3D%20JDK%20AND%20fixversion%20%3D%20jfx22%20and%20component%20%3D%20javafx%20and%20%22resolved%20in%20build%22%20%3D%20b19%20order%20by%20component%2C%20subcomponent" target="_blank" rel="noopener noreferrer"&gt;Build 19&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;JavaFX 22-ea is designed to work with JDK 22-ea, but it is known to work with JDK 17 and later versions.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/dlemmermann/status/1731945181056803237" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Dirk Lemmermann&lt;/strong&gt; is happy&lt;/a&gt;
 with a &lt;a href="https://github.com/openjdk/jfx/pull/1293" target="_blank" rel="noopener noreferrer"&gt;pull request in OpenJFX&lt;/a&gt;
 &amp;ldquo;that finally adds styling support to the fitWidth / fitHeight / preserveRatio / smooth properties of the ImageView class. I always wondered why they were missing. Turns out they were simply forgotten (but a TODO was in the source code :-)).&amp;rdquo;&lt;/li&gt;
&lt;li&gt;A little &lt;a href="https://mastodon.social/@johanvos/111596707584064200" target="_blank" rel="noopener noreferrer"&gt;insight into the OpenJFX project by &lt;strong&gt;Johan Vos&lt;/strong&gt;&lt;/a&gt;
: &amp;ldquo;We often get requests about &amp;lsquo;Why don&amp;rsquo;t you provide a JavaFX build for this or that platform?&amp;rsquo; The short answer: it&amp;rsquo;s easy to create a one-time build with some parameters, but it&amp;rsquo;s hard to maintain. And expensive. Our AWS bill is impressive. And since all our OpenJFX builds are available for free, this is really a major cost for us.&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-1-applications"&gt;Applications&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;RNArtist&lt;/strong&gt; is doing amazing user interface work&amp;hellip; This is only &lt;a href="https://twitter.com/rnartist_app/status/1730530572227764240" target="_blank" rel="noopener noreferrer"&gt;one of his recent messages&lt;/a&gt;
: &amp;ldquo;If the RNA 2D layout selected at first doesn&amp;rsquo;t fit your needs, RNArtist will provide you a new panel to compute and preview alternate layouts.&amp;rdquo;&lt;/li&gt;
&lt;li&gt;An impressive and super-smooth first &lt;a href="https://twitter.com/Alessio_Vinerbi/status/1730177673316503598" target="_blank" rel="noopener noreferrer"&gt;timeline management demo&lt;/a&gt;
 of the personal After Effects app by &lt;strong&gt;Alessio Vinerbi&lt;/strong&gt; .
&lt;ul&gt;
&lt;li&gt;A &lt;a href="https://twitter.com/Alessio_Vinerbi/status/1730630540569522287" target="_blank" rel="noopener noreferrer"&gt;video by &lt;strong&gt;Alessio Vinerbi&lt;/strong&gt;&lt;/a&gt;
 introducing the first time interpolation demo of MoonsonFX, his personal After Effects written entirely in JavaFX.&lt;/li&gt;
&lt;li&gt;A new teaser &lt;a href="https://twitter.com/Alessio_Vinerbi/status/1733534005792805267" target="_blank" rel="noopener noreferrer"&gt;video by &lt;strong&gt;Alessio Vinerbi&lt;/strong&gt; of MoonsonFX&lt;/a&gt;
, a JavaFX animation tool.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Donald Raab&lt;/strong&gt; uses the &lt;a href="https://twitter.com/TheDonRaab/status/1732273493092524526" target="_blank" rel="noopener noreferrer"&gt;Jackson library to persist his JavaFX ToDo List to JSON&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Divyanshu Yadav&lt;/strong&gt; is working on a weather app: &lt;a href="https://twitter.com/DVyadav2307/status/1731645629536124981" target="_blank" rel="noopener noreferrer"&gt;&amp;ldquo;Dear Web Devs! JavaFX is also in the race!!&amp;rdquo;&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Heshan Kariyawasam&lt;/strong&gt; shared some nice projects again!
&lt;ul&gt;
&lt;li&gt;A &lt;a href="https://www.linkedin.com/feed/update/urn:li:activity:7139904558327099392/" target="_blank" rel="noopener noreferrer"&gt;JavaFX-based statistical calculator&lt;/a&gt;
: &amp;ldquo;Quickly compute mean, median, mode, and variance with an intuitive user interface.&amp;rdquo;&lt;/li&gt;
&lt;li&gt;A &lt;a href="https://github.com/heshanthenura/DynamicBackground" target="_blank" rel="noopener noreferrer"&gt;Dynamic Background Demo&lt;/a&gt;
 that dynamically adjusts the background image to fit the screen dimensions. It utilizes JavaFX&amp;rsquo;s Stage and ImageView components to create a responsive background. The app also includes functionality to open a new window, demonstrating basic window management in JavaFX. The video shows a cool use of multiple windows in one application.&lt;/li&gt;
&lt;li&gt;And on Foojay.io, his first blog was published: &lt;a href="https://foojayio.github.io/website/today/creating-executables-for-javafx-applications/"&gt;Creating Executables For JavaFX Applications&lt;/a&gt;
: &amp;ldquo;Let&amp;rsquo;s take a look in this article at the current state of what can be done with jpackage and GitHub Actions to create executables for JavaFX applications.&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Patrik Karlström&lt;/strong&gt; is &lt;a href="https://twitter.com/PatrikKarlstrom/status/1737534168043552769" target="_blank" rel="noopener noreferrer"&gt;updating rsync GUI, an application he wrote in 2015&lt;/a&gt;
: &amp;ldquo;Today I ran my first #backup with the next version based on NetBeans Platform and JavaFX. Still very rough around the edges though.&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-2-games"&gt;Games&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Almas Baim&lt;/strong&gt; is working on new features for FXGL:
&lt;ul&gt;
&lt;li&gt;&amp;ldquo;The current version of the FXGL engine can only show up to 5 dialogue options. The next version will use a scroll bar, where needed, to show any number of options, &lt;a href="https://twitter.com/AlmasBaim/status/1730336323750224104" target="_blank" rel="noopener noreferrer"&gt;as can be seen in the demo&lt;/a&gt;
.&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&amp;ldquo;Adding NPCs that can act as companions somehow instantly makes it &lt;a href="https://twitter.com/AlmasBaim/status/1730000612777976047" target="_blank" rel="noopener noreferrer"&gt;more interesting to explore the world&lt;/a&gt;
.&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/AlmasBaim/status/1734865416697114945" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Almas Baim&lt;/strong&gt; shared a new proof-of-concept of the node inspector panel&lt;/a&gt;
 in FXGL, which allows editing various node properties: &amp;ldquo;This way each dialogue node in the main UI just captures the text associated with it and reduces visual clutter&amp;rdquo;.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;OrangoMango&lt;/strong&gt; published a &lt;a href="https://www.youtube.com/watch?v=OAunQTTsbio" target="_blank" rel="noopener noreferrer"&gt;trailer of RailTheWay on YouTube&lt;/a&gt;
: &amp;ldquo;A game made in Java/JavaFX without the use of any game engine. Guide the trains to their station. Each train has a color that represents its destination. Sometimes there are some cargo trains that disturb you, try to let them go away and be sure to avoid the cars on your way!&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/SulaimonMuhamm9/status/1731418084617933140" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Sulaimon Muhammad&lt;/strong&gt; shared a brief video&lt;/a&gt;
 of the &amp;ldquo;Who Wants to Be a Millionaire&amp;rdquo; game developed using JavaFX and Hibernate: &amp;ldquo;Exciting things happening with Java!&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/LondonSoftworks" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;London Softworks&lt;/strong&gt;&lt;/a&gt;
 is building a custom 2D game engine in Java and shares the progress in various tweets.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Frank Delporte&lt;/strong&gt; published &lt;a href="https://webtechie.be/post/2023-12-14-jbang-fxgl/" target="_blank" rel="noopener noreferrer"&gt;&amp;ldquo;A JavaFX Game Application in a Single Java File with JBang and FXGL&amp;rdquo;&lt;/a&gt;
. A video walk-through together with &lt;strong&gt;Almas Baim&lt;/strong&gt; will follow soon&amp;hellip;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-3-components-libraries-tools"&gt;Components, Libraries, Tools&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Gerrit Grunwald&lt;/strong&gt; is &lt;a href="https://twitter.com/hansolo_/status/1729494468309500362" target="_blank" rel="noopener noreferrer"&gt;bumping his libraries to JDK 21&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;PhoneNumberFX by &lt;strong&gt;Dirk Lemmermann&lt;/strong&gt; got extended: &amp;ldquo;The field can now automatically create prompt texts showing you example phone numbers for the selected country&amp;rdquo;, &lt;a href="https://twitter.com/dlemmermann/status/1728080959520526807" target="_blank" rel="noopener noreferrer"&gt;and more&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;yWorks, a software library for visualizing, editing and analyzing graphs, &lt;a href="https://twitter.com/yworks/status/1732707567346872829" target="_blank" rel="noopener noreferrer"&gt;shared their newest update&lt;/a&gt;
 which is compatible with the latest JDKs.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-4-podcast-video-books"&gt;Podcast, Video, Books&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;In the &lt;a href="https://foojayio.github.io/website/today/foojay-podcast-36/"&gt;third part of the Foojay J-Fall Report Podcast&lt;/a&gt;
, &lt;a href="https://www.jfx-central.com/people/g.grunwald" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Gerrit Grunwald&lt;/strong&gt;&lt;/a&gt;
 and &lt;a href="https://twitter.com/Anthony_Goubard" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Anthony Goubard&lt;/strong&gt;&lt;/a&gt;
 talk about desktop application development with Java.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-5-tutorials"&gt;Tutorials&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;On Foojay, part 1 of a series by &lt;strong&gt;Christopher Schnick&lt;/strong&gt; , the creator of &lt;a href="https://www.jfx-central.com/showcases/xpipe" target="_blank" rel="noopener noreferrer"&gt;XPipe&lt;/a&gt;
, was published: &lt;a href="https://foojayio.github.io/website/today/java-for-desktop-applications-part-1/"&gt;&amp;ldquo;Java for desktop applications: Tips and Tricks&amp;rdquo;&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/shiratsuyudachi/status/1734874003100364858" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;shiratsuyudachi&lt;/strong&gt; asked ChatGPT&lt;/a&gt;
 to create a minimal JavaFX application.&lt;/li&gt;
&lt;li&gt;A new tutorial by &lt;a href="https://twitter.com/Polypragmatist" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Dave Barrett&lt;/strong&gt;&lt;/a&gt;
: &amp;ldquo;An &lt;a href="https://www.pragmaticcoding.ca/javafx/elements/listview-basics" target="_blank" rel="noopener noreferrer"&gt;introduction to ListView&lt;/a&gt;
 and understanding how to use it to display something more than just lists of Strings.&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-6-miscellaneous"&gt;Miscellaneous&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Graham Billington&lt;/strong&gt; is looking for help: &amp;ldquo;What the hell is &lt;a href="https://twitter.com/GBillington7/status/1729908761958215950" target="_blank" rel="noopener noreferrer"&gt;happening with this light and how do I make it stop&lt;/a&gt;
?&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Jonathan Giles&lt;/strong&gt; is sharing &lt;a href="https://twitter.com/JonathanGiles/status/1729774535354794466" target="_blank" rel="noopener noreferrer"&gt;good memories to when he was working on JavaFX at Sun&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Heshan Thenura&lt;/strong&gt; shared a GitHub repository that shows how to create &lt;a href="https://github.com/heshanthenura/JavaPackageDemo" target="_blank" rel="noopener noreferrer"&gt;JavaFX executables with jpackage for all platforms&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Heshan Thenura&lt;/strong&gt; &amp;rsquo;s screen got invaded by a little Samurai walking on his task bar. A &lt;a href="https://github.com/heshanthenura/DesktopCompanion" target="_blank" rel="noopener noreferrer"&gt;fun demo project&lt;/a&gt;
 using animated GIFs and a transparent stage.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Michael Schnell&lt;/strong&gt; created a &lt;a href="https://github.com/fuinorg/javafx-cdi-example" target="_blank" rel="noopener noreferrer"&gt;JavaFX CDI Example&lt;/a&gt;
 project (Java 17 with &amp;ldquo;jakarta&amp;rdquo; namespace, Maven build, GitHub build, Sub controllers, Blocking UI, About dialog, Exception dialog, TestFX unit test). There is also a &lt;a href="https://github.com/fuinorg/javafx-cdi-archetype" target="_blank" rel="noopener noreferrer"&gt;JavaFX CDI Archetype&lt;/a&gt;
 based on it that allows easily bootstrapping your own project.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/DVyadav2307/status/1735285920885277156" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Divyanshu Yadav&lt;/strong&gt; needs some serious UI suggestions&lt;/a&gt;
&amp;hellip;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Dirk Lemmermann&lt;/strong&gt; now has an &lt;a href="https://twitter.com/dlemmermann/status/1734941451971182773" target="_blank" rel="noopener noreferrer"&gt;&amp;ldquo;official JavaFX&amp;rdquo; office&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/gail_asgteach/status/1736836965683892661" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Gail Anderson&lt;/strong&gt; has a call for all JavaFX developers&lt;/a&gt;
: &amp;ldquo;Please let the GraalVM team know that JavaFX and mobile is important by &lt;a href="https://graalvm.typeform.com/survey?typeform-source=t.co" target="_blank" rel="noopener noreferrer"&gt;filling out this survey&lt;/a&gt;
.&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-7-jfx-central"&gt;JFX Central&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;The bundled overview of the JavaFX Links Of The Week of November, &lt;a href="https://foojayio.github.io/website/today/javafx-links-of-november-2023/"&gt;got published on Foojay.io&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;The main menu of JFX Central got reworked as we ran out of space, because&amp;hellip; we added a complete new section: &amp;ldquo;Learn&amp;rdquo;!
&lt;ul&gt;
&lt;li&gt;You can already find a few new pages with content provided by &lt;a href="https://www.jfx-central.com/people/e.nyirenda" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Edward Nyirenda Jr.&lt;/strong&gt;&lt;/a&gt;
, &lt;a href="https://www.jfx-central.com/people/g.anderson" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Gail Anderson&lt;/strong&gt;&lt;/a&gt;
, and &lt;a href="https://www.jfx-central.com/people/f.delporte" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Frank Delporte&lt;/strong&gt;&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;In the coming weeks, months,&amp;hellip; we will be adding more of this, including new videos.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.jfx-central.com/learn-javafx" target="_blank" rel="noopener noreferrer"&gt;Learn JavaFX&lt;/a&gt;
: from getting started with JavaFX to all the components that are available. This will become the largest section.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.jfx-central.com/learn-mobile" target="_blank" rel="noopener noreferrer"&gt;Learn JavaFX for Mobile&lt;/a&gt;
: how to create applications for Android and iPhone.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.jfx-central.com/learn-raspberrypi" target="_blank" rel="noopener noreferrer"&gt;Learn JavaFX on Raspberry Pi&lt;/a&gt;
: build user interfaces on the Raspberry Pi to interact with electronic components.&lt;/li&gt;
&lt;li&gt;Thanks to &lt;a href="https://www.jfx-central.com/people/f.kirmaier" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Florian Kirmaier&lt;/strong&gt;&lt;/a&gt;
 and &lt;a href="https://twitter.com/LeeWyatt_7788" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Li Wang Yang&lt;/strong&gt;&lt;/a&gt;
 for the integration of this new section in JFX Central and some required new features in JPro!&lt;/li&gt;
&lt;li&gt;Several tutorials were added to the &amp;ldquo;Learn JavaFX&amp;rdquo; section a week later, with content provided by &lt;a href="https://www.jfx-central.com/people/e.nyirenda" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Edward Nyirenda Jr.&lt;/strong&gt;&lt;/a&gt;
:&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.jfx-central.com/learn-javafx/checkbox" target="_blank" rel="noopener noreferrer"&gt;CheckBox&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.jfx-central.com/learn-javafx/chart" target="_blank" rel="noopener noreferrer"&gt;Chart&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.jfx-central.com/learn-javafx/gridpane" target="_blank" rel="noopener noreferrer"&gt;GridPane&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Creating Executables For JavaFX Applications</title><link>https://foojayio.github.io/website/today/creating-executables-for-javafx-applications/</link><pubDate>Fri, 08 Dec 2023 13:46:50 +0000</pubDate><guid>https://foojayio.github.io/website/today/creating-executables-for-javafx-applications/</guid><description>&lt;p&gt;Here on Foojay, you can already find some great articles on how to create native executables from your JavaFX code:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://foojayio.github.io/website/today/native-applications-for-multiple-devices-from-a-single-javafx-project-with-gluon-mobile-and-github-actions/"&gt;Native Applications for Multiple Devices from a Single JavaFX Project with Gluon Mobile and GitHub Actions&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://foojayio.github.io/website/today/javafx-templates-for-desktop-applications/"&gt;JavaFX Templates for Desktop Applications&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Let&amp;rsquo;s take a look in this article at the current state of what can be done with &lt;code&gt;jpackage&lt;/code&gt; and GitHub Actions.&lt;/p&gt;
&lt;p&gt;All the sources and workflow files used here &lt;a href="https://github.com/heshanthenura/JavaPackageDemo" target="_blank" rel="noopener noreferrer"&gt;can be found in the &lt;code&gt;JavaPackageDemo&lt;/code&gt; repository&lt;/a&gt;
.&lt;/p&gt;</description></item><item><title>Strategies for Managing State in Chronicle Services</title><link>https://foojayio.github.io/website/today/strategies-for-managing-state-in-chronicle-services/</link><pubDate>Fri, 01 Dec 2023 08:41:44 +0000</pubDate><guid>https://foojayio.github.io/website/today/strategies-for-managing-state-in-chronicle-services/</guid><description>&lt;h2 id="h2-0-introduction"&gt;Introduction&lt;/h2&gt;
&lt;p&gt;In distributed, microservice-based applications, the management of state is one of the most important, yet difficult aspects of design.&lt;/p&gt;
&lt;p&gt;Ensuring the accuracy and consistency of state without introducing excessive complexity that affects performance or flexibility to support evolving requirements requires careful thought.&lt;/p&gt;
&lt;p&gt;This article discusses issues around state management and shows how the &lt;a href="https://chronicle.software/services/" title="Chronicle Services" target="_blank" rel="noopener noreferrer"&gt;Chronicle Services&lt;/a&gt;
 framework provides support to deal with these in ways that maintain a resilient and high performing microservices architecture.&lt;/p&gt;</description></item><item><title>JavaFX Links of November 2023</title><link>https://foojayio.github.io/website/today/javafx-links-of-november-2023/</link><pubDate>Thu, 30 Nov 2023 08:23:00 +0000</pubDate><guid>https://foojayio.github.io/website/today/javafx-links-of-november-2023/</guid><description>&lt;p&gt;Have fun with this overview of the &amp;ldquo;JavaFX LinksOfTheWeek&amp;rdquo; that got published on &lt;a href="https://www.jfx-central.com/" target="_blank" rel="noopener noreferrer"&gt;jfx-central.com&lt;/a&gt;
 during November!&lt;/p&gt;
&lt;h2 id="h2-0-core"&gt;Core&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Carl Dea&lt;/strong&gt; shared: &amp;ldquo;JavaFX 22 will be supporting platform specific settings! E.g. dark and light mode etc.&amp;rdquo;. See &lt;a href="https://bugs.openjdk.org/browse/JDK-8319138" target="_blank" rel="noopener noreferrer"&gt;JDK-8319138: Platform preferences API&lt;/a&gt;
.
&lt;ul&gt;
&lt;li&gt;Also worth following: &lt;a href="https://bugs.openjdk.org/browse/JDK-8305116" target="_blank" rel="noopener noreferrer"&gt;JDK-8305116&lt;/a&gt;
: &amp;ldquo;Frosty / Milky / diffuse transparency areas showing desktop background&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Dirk Lemmermann&lt;/strong&gt; is &lt;a href="https://twitter.com/dlemmermann/status/1724707717468582014" target="_blank" rel="noopener noreferrer"&gt;looking forward to the next release of JavaFX&lt;/a&gt;
: &amp;ldquo;We can hope to see CSS transitions, themes, and Platform API (dark mode, accent colors).&amp;rdquo;&lt;/li&gt;
&lt;li&gt;JavaFX Wish Lists by:
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://twitter.com/dlemmermann/status/1724709050670014678" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Dirk Lemmermann&lt;/strong&gt;&lt;/a&gt;
: removal of AWT, a tray API (tray icon),&amp;hellip;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/LeeWyatt_7788/status/1724811343767978350" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;LeeWyatt&lt;/strong&gt;&lt;/a&gt;
: support for SVG Icons and Animations, Responsive Layout Pane/Adaptive Layout Pane&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/realThanhpv/status/1724995261305630972" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Thanhpv&lt;/strong&gt;&lt;/a&gt;
: clipping improvement&lt;/li&gt;
&lt;li&gt;And others in the same thread&amp;hellip;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Pedro Duque Vieira&lt;/strong&gt; shared &lt;a href="https://twitter.com/P_Duke/status/1724761488714240432" target="_blank" rel="noopener noreferrer"&gt;&amp;ldquo;Ongoing work to add CSS transitions to JavaFX&amp;rdquo;&lt;/a&gt;
.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-1-applications"&gt;Applications&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://twitter.com/P_Duke/status/1720073696541602138" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Pedro Duque Vieira&lt;/strong&gt; shared screenshots&lt;/a&gt;
 of the initial prototype of HERO (a JavaFX app in production) and screenshots of the app after its redesign and implementation. He also shared some quick remarks about the redesign.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/orango_mango/status/1719446338503671953" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;OrangoMango&lt;/strong&gt; shared an impressive video of 3D rendering&lt;/a&gt;
: &amp;ldquo;Now the camera is always pointing to the airplane and it can also freely move. It&amp;rsquo;s on the Raspberry Pi and with this resolution it lags a bit with the screen recorder.&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/SerendigityInfo/status/1718268583208219073" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Serendipity&lt;/strong&gt; is proud&lt;/a&gt;
! &amp;ldquo;Yes, we did it! A JavaFX APP is first in the Apple Store ranking for macOS! SmartFinder number one! Another small step for all Java lovers. JavaFX write once run anywhere.&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Robert Ladstätter&lt;/strong&gt; announced v23.3.0 of LogoRRR, the tool to analyze log files and filter out critical events or other points of interest: &amp;ldquo;&lt;a href="https://twitter.com/logorrr/status/1720139416478351834" target="_blank" rel="noopener noreferrer"&gt;Successfully resolved a significant performance issue in LogoRRR. This enhancement is the highlight of version 23.3.0&lt;/a&gt;
&amp;rdquo;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;RNArtist&lt;/strong&gt; announced the availability of RNArtist 1.1.3 with the ability to define a zooming area with the left mouse button. More info and a video demo is &lt;a href="https://github.com/fjossinet/RNArtist/discussions/25" target="_blank" rel="noopener noreferrer"&gt;available here&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.linkedin.com/posts/h4-z4_stockportfolio-inventorymanagement-javafx-activity-7128600932510007298-1fpO/" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Randil Hasanga&lt;/strong&gt; shared screenshots of Book Nook&lt;/a&gt;
, a Stock Portfolio Management System.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.linkedin.com/posts/tharindu-nuwan-madhushanka-00b689251_java-javafx-mediaplayer-activity-7128595798606450689-MV31" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Tharindu Nuwan Madhushanka&lt;/strong&gt; unveilled a Media Player App and a link to the sources&lt;/a&gt;
: &amp;ldquo;From crisp audio playback to stunning video performance, this app sets a new standard&amp;rdquo;.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-2-games"&gt;Games&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://twitter.com/YangKui7" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;GZYangKui&lt;/strong&gt; shared some tweets&lt;/a&gt;
 while working on games and successfully resolved an &lt;a href="https://twitter.com/YangKui7/status/1722603653989556386" target="_blank" rel="noopener noreferrer"&gt;audio output delay issue&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;OrangoMango&lt;/strong&gt; has been very active!
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://orangomango.itch.io/tetris" target="_blank" rel="noopener noreferrer"&gt;Tetris in the browser&lt;/a&gt;
, but also for Windows, Linux, macOS, and of course Raspberry Pi.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/orango_mango/status/1725496263540343228" target="_blank" rel="noopener noreferrer"&gt;RailTheWay 2.0&lt;/a&gt;
: &amp;ldquo;Major update! Guide the trains to their station and avoid collisions.&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/orango_mango/status/1724403696660894083" target="_blank" rel="noopener noreferrer"&gt;FlightSimulator&lt;/a&gt;
, exclusively using the JavaFX canvas.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/orango_mango/status/1723077440912674834" target="_blank" rel="noopener noreferrer"&gt;&amp;ldquo;Update video about my Minecraft clone made with my 3D engine from scratch.&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-3-components-libraries-tools"&gt;Components, Libraries, Tools&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://twitter.com/dlemmermann/status/1719746602825297991" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Dirk Lemmermann&lt;/strong&gt;&lt;/a&gt;
: &amp;ldquo;&lt;a href="https://www.jfx-central.com/libraries/atlantafx" target="_blank" rel="noopener noreferrer"&gt;AtlantaFX&lt;/a&gt;
 is currently my theme of choice. It is modern looking, very elegant, very professional, well documented, supports various modes (yes, dark mode and darcula, too), comes with an auto-updating sampler app, custom skins, much simpler styling rules than Modena, etc &amp;hellip; if you haven&amp;rsquo;t done so, yet, please &lt;a href="https://github.com/mkpaz/atlantafx" target="_blank" rel="noopener noreferrer"&gt;check out the repo&lt;/a&gt;
.&amp;rdquo;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://twitter.com/dlemmermann/status/1720475150032810405" target="_blank" rel="noopener noreferrer"&gt;V1.90.0 of GemsFX&lt;/a&gt;
, which includes an SVGImageView control to display SVG files. The control uses the &lt;a href="https://github.com/weisJ/jsvg" target="_blank" rel="noopener noreferrer"&gt;jsvg project&lt;/a&gt;
 to render to an AWT image, convert it, and then display it inside an ImageView.&lt;/li&gt;
&lt;li&gt;Dirk also announced the release of a new JavaFX input field for phone numbers which is utilising the libphonenumber project from Google to format and validate the numbers. The project can be found &lt;a href="https://github.com/dlsc-software-consulting-gmbh/PhoneNumberFX" target="_blank" rel="noopener noreferrer"&gt;on GitHub&lt;/a&gt;
. The main contributor is &lt;a href="https://twitter.com/gldiazcardenas" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Gabriel Diaz&lt;/strong&gt;&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;Version 1.5.0 of that library &lt;a href="https://twitter.com/dlemmermann/status/1727262578551009318" target="_blank" rel="noopener noreferrer"&gt;has been refactored and greatly simplified&lt;/a&gt;
.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Mushtak Abdulqadir&lt;/strong&gt; describes several libraries in a LinkedIn post (BootstrapFX, ControlsFX, FormsFX, FXGL, Ikonli, TilesFX, ValidatorFX) and &lt;a href="https://www.linkedin.com/posts/altmemy_javafx-uiux-desktopdevelopment-activity-7127725400717209600-ozbs/" target="_blank" rel="noopener noreferrer"&gt;is asking for feedback&lt;/a&gt;
: &amp;ldquo;Which of these libraries have you used, and what has been your experience with them?&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/iAbhinay/status/1723642698585059640" target="_blank" rel="noopener noreferrer"&gt;Announced by &lt;strong&gt;Abhinay Agarwal&lt;/strong&gt;&lt;/a&gt;
: release of ControlsFX v11.2.0! Baseline has been moved to JavaFX 17 and is compatible with JavaFX 21. The &lt;a href="https://github.com/controlsfx/controlsfx/releases/tag/11.2.0" target="_blank" rel="noopener noreferrer"&gt;release notes can be found here&lt;/a&gt;
 and &lt;a href="https://controlsfx.github.io/javadoc" target="_blank" rel="noopener noreferrer"&gt;JavaDoc here&lt;/a&gt;
.
&lt;ul&gt;
&lt;li&gt;And he is looking for advise: &lt;a href="https://twitter.com/iAbhinay/status/1723647392908751267" target="_blank" rel="noopener noreferrer"&gt;&amp;ldquo;Which JavaFX control would you recommend to read very large text files?&amp;rdquo;&lt;/a&gt;
.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/husker-dev/openglfx" target="_blank" rel="noopener noreferrer"&gt;V4.0 of openglfx&lt;/a&gt;
 has been released. This library adds a new element to JavaFX to render OpenGL graphics. It is optimized for each platform and includes some auxiliary functions for working with OpenGL from JavaFX.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-4-podcast-video-books"&gt;Podcast, Video, Books&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;At J-Fall in the Netherlands, &lt;strong&gt;Frank Delporte&lt;/strong&gt; had a lot of live interviews with speakers and guests, including &lt;strong&gt;Gerrit Grunwald&lt;/strong&gt; . In &lt;a href="https://www.youtube.com/watch?v=FV1ITrl42mk" target="_blank" rel="noopener noreferrer"&gt;this short interview, they also talk about JavaFX&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;On airhacks.fm, the podcast by &lt;strong&gt;Adam Bien&lt;/strong&gt; : &lt;a href="https://adambien.blog/roller/abien/entry/how_han_solo_wrote_steelseries" target="_blank" rel="noopener noreferrer"&gt;How &lt;strong&gt;Gerrit Grunwald&lt;/strong&gt; wrote SteelSeries&lt;/a&gt;
. &amp;ldquo;A podcast episode about pixel perfect Java user interfaces, JavaFX, and Java&amp;rsquo;s portability&amp;rdquo;.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-5-tutorials"&gt;Tutorials&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Edward Nyirenda Jr&lt;/strong&gt; again published several tutorials, for instance:
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://coderscratchpad.com/javafx-lightin" target="_blank" rel="noopener noreferrer"&gt;JavaFX Lighting Effect&lt;/a&gt;
: &amp;ldquo;The Light.Spot represents a point light source with characteristics similar to a spotlight.&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://coderscratchpad.com/javafx-phone-number-input-field/" target="_blank" rel="noopener noreferrer"&gt;JavaFX Phone Number Input Field&lt;/a&gt;
: using the library &amp;ldquo;PhoneNumberFX&amp;rdquo; that just got released.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-6-miscellaneous"&gt;Miscellaneous&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://twitter.com/rumbletumblekid/status/1719376674939101576" target="_blank" rel="noopener noreferrer"&gt;Screenshot by &lt;strong&gt;Rumble Tumble Kid&lt;/strong&gt; of the minimal code to run ScalaFX&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Carl Dea&lt;/strong&gt; is wondering if anyone is &lt;a href="https://www.linkedin.com/posts/carldea_upgraded-to-gradle-84-jdk-2101-openjfx-activity-7131115551858282496-9sM-/" target="_blank" rel="noopener noreferrer"&gt;interested in Java 21.0.1 &amp;amp; JavaFX 21.0.1 Scenic View&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Heshan Kariyawasam&lt;/strong&gt; is working on an &lt;a href="https://github.com/heshanthenura/JavaPackageDemo" target="_blank" rel="noopener noreferrer"&gt;example project to build JavaFX executables&lt;/a&gt;
 for different platforms with Gradle, jpackage, and GitHub Actions.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;OrangoMango&lt;/strong&gt; is &lt;a href="https://twitter.com/orango_mango/status/1727340684498383337" target="_blank" rel="noopener noreferrer"&gt;visualizing prime numbers&lt;/a&gt;
 with JavaFX. &lt;a href="https://pastebin.com/u0nzj4bT" target="_blank" rel="noopener noreferrer"&gt;The source code is on pastebin&lt;/a&gt;
.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-7-jfx-central"&gt;JFX Central&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;A new version has been released with several utilities / tools to develop JavaFX applications: gradient editor, SVG path extractor, effects editor, pixel-to-em converter, CSS playground. &lt;a href="https://jfx-central.com/utilities" target="_blank" rel="noopener noreferrer"&gt;You can find the utilities here&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;&amp;ldquo;Random&amp;rdquo; sorting will be added to the category pages so that every item gets the same chance to be seen or found.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/dlemmermann/status/1719751012318052444" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Dirk Lemmermann&lt;/strong&gt; shared a video&lt;/a&gt;
 showing the superfast startup of the JFX Central app, as a native app, thanks to Gluon.&lt;/li&gt;
&lt;li&gt;The summary with all the JFX Central links of October got &lt;a href="https://foojayio.github.io/website/today/javafx-links-of-october-2023/"&gt;published on Foojay.io&lt;/a&gt;
.&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Java for desktop applications: Tips and Tricks (Part 1)</title><link>https://foojayio.github.io/website/today/java-for-desktop-applications-part-1/</link><pubDate>Fri, 24 Nov 2023 09:18:15 +0000</pubDate><guid>https://foojayio.github.io/website/today/java-for-desktop-applications-part-1/</guid><description>&lt;p&gt;&lt;strong&gt;As desktop applications have kind of become a niche topic, it&amp;rsquo;s getting harder to find information about up-to-date best practices for desktop development.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Since I have been doing this for many years now, I hope that I can share some of the lessons learned with other fellow desktop developers. Most items that are discussed here are taken straight from &lt;a href="https://github.com/xpipe-io/xpipe" target="_blank" rel="noopener noreferrer"&gt;XPipe&lt;/a&gt;
, the application I am working on right now. So if you&amp;rsquo;re skeptical or are interested in more details, you can take a look at the actual source code or try them in action yourself in the actual application.&lt;/p&gt;</description></item><item><title>JavaFX Links of October 2023</title><link>https://foojayio.github.io/website/today/javafx-links-of-october-2023/</link><pubDate>Tue, 31 Oct 2023 13:04:32 +0000</pubDate><guid>https://foojayio.github.io/website/today/javafx-links-of-october-2023/</guid><description>&lt;p&gt;Thanks to the Devoxx conference, there are many hours you can spend on JavaFX-related videos!&lt;/p&gt;
&lt;p&gt;But as every month, there is a lot more to read and learn about JavaFX&amp;hellip;&lt;/p&gt;
&lt;p&gt;Have fun with this overview of the &amp;ldquo;JavaFX LinksOfTheWeek&amp;rdquo; that got published on &lt;a href="https://www.jfx-central.com/" target="_blank" rel="noopener noreferrer"&gt;jfx-central.com&lt;/a&gt;
 during October.&lt;/p&gt;
&lt;h2 id="h2-0-core"&gt;Core&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Last month Java and JavaFX 21 were released. And &lt;a href="https://mastodon.social/@johanvos/111147510047965780" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Johan Vos&lt;/strong&gt; already had an update&lt;/a&gt;
: &amp;ldquo;JavaFX 22-ea+11 has just been released to maven central (and on &lt;a href="https://gluonhq.com/products/javafx" target="_blank" rel="noopener noreferrer"&gt;gluonhq.com/products/javafx&lt;/a&gt;
). This contains the much anticipated memory improvements :)&amp;rdquo;
&lt;ul&gt;
&lt;li&gt;&amp;ldquo;This contains a major change in some CSS processing, see &lt;a href="https://github.com/openjdk/jfx/commit/5e145cc06ef68c50a4ffc95574fdafd44e054100" target="_blank" rel="noopener noreferrer"&gt;this commit by &lt;strong&gt;John Hendrikx&lt;/strong&gt;&lt;/a&gt;
, that leads to improved performance (less GC). Please test and evaluate.&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Kevin Rushforth&lt;/strong&gt; and &lt;a href="https://mastodon.social/@johanvos" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Johan Vos&lt;/strong&gt;&lt;/a&gt;
 had a BOF at Devoxx in Antwerp.
&lt;ul&gt;
&lt;li&gt;During this BOF, some of the new features that could be included in JavaFX 22 were presented:&lt;/li&gt;
&lt;li&gt;Platform APIs&lt;/li&gt;
&lt;li&gt;(unlikely) CSS theming&lt;/li&gt;
&lt;li&gt;InputMap/Behavior&lt;/li&gt;
&lt;li&gt;Feedback was asked from the users regarding blocking issues in JavaFX itself to be able to build more amazing stuff:&lt;/li&gt;
&lt;li&gt;Removal of remaining AWT dependencies.&lt;/li&gt;
&lt;li&gt;Full integration with the desktop (alerts, dark/light,&amp;hellip;).&lt;/li&gt;
&lt;li&gt;Missing 3D point and line drawing methods.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;JavaFX 21.0.1 and JavaFX 17.0.9 are now available for download from the &lt;a href="https://gluonhq.com/products/javafx" target="_blank" rel="noopener noreferrer"&gt;Gluon website&lt;/a&gt;
 and from Maven Central. &amp;ldquo;&lt;a href="https://techhub.social/@gluonhq/111255546373474509" target="_blank" rel="noopener noreferrer"&gt;Enjoy Java on the client!&lt;/a&gt;
&amp;rdquo;.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-1-scenebuilder"&gt;SceneBuilder&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Version 21 is &lt;a href="https://github.com/gluonhq/scenebuilder/releases/tag/21.0.0" target="_blank" rel="noopener noreferrer"&gt;now available&lt;/a&gt;
!
&lt;ul&gt;
&lt;li&gt;Refactored: Clean up DocumentWatchingController&lt;/li&gt;
&lt;li&gt;Uses JDK and JavaFX 21&lt;/li&gt;
&lt;li&gt;Contributors:
&lt;ul&gt;
&lt;li&gt;Abhinay Agarwal&lt;/li&gt;
&lt;li&gt;Almas Baim&lt;/li&gt;
&lt;li&gt;José Pereda&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Scene Builder 21.0.1 RC1 is &lt;a href="https://github.com/gluonhq/scenebuilder/releases" target="_blank" rel="noopener noreferrer"&gt;available for testing&lt;/a&gt;
.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-2-applications"&gt;Applications&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;At Devoxx we got blown away by the demos given by Florian Enner to visualize robot arms and interact with them. He wasn&amp;rsquo;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&amp;hellip;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=XxVoG1ft7w8" target="_blank" rel="noopener noreferrer"&gt;JavaFX w/ GraalVM native image (Windows)&lt;/a&gt;
: a desktop application with charts and controls, but a robot simulated in 3D.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=vjl5tz8bE90" target="_blank" rel="noopener noreferrer"&gt;JavaFX: migrating to AtlantaFX themes&lt;/a&gt;
: migrating from a custom JavaFX design to AtlantaFX themes. And even more 3D robots and charts!!!&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=Xac03kLqKrA" target="_blank" rel="noopener noreferrer"&gt;JavaFX 3D: Dynamic CubeWorld&lt;/a&gt;
: 3D cubes, a loooooot of cubes&amp;hellip;&lt;/li&gt;
&lt;li&gt;And these are &lt;a href="https://www.youtube.com/@florianenner7435/videos?view=0&amp;amp;sort=dd&amp;amp;shelf_id=0" target="_blank" rel="noopener noreferrer"&gt;all his YouTube videos&lt;/a&gt;
.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/p_duke/status/1707409002026463457" target="_blank" rel="noopener noreferrer"&gt;The Hero app by &lt;strong&gt;Pedro Duque Vieira&lt;/strong&gt; has an alert/error system where the button will show as filled whenever there&amp;rsquo;s an error/alert&lt;/a&gt;
: &amp;ldquo;This immediately warns u in a subtle way that u may have things to fix. After you&amp;rsquo;ve fixed everything the alert button shows up empty.&amp;rdquo;
&lt;ul&gt;
&lt;li&gt;He also shared more info and a video about &lt;a href="https://twitter.com/P_Duke/status/1713901762027905025" target="_blank" rel="noopener noreferrer"&gt;Visual Styles in HERO&lt;/a&gt;
: &amp;ldquo;It allows the user to see properties of his CAD project quickly, at a glance.&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/fjossinet/RNArtist/tags" target="_blank" rel="noopener noreferrer"&gt;RNArtist has been updated&lt;/a&gt;
, 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).
&lt;ul&gt;
&lt;li&gt;Nice new &lt;a href="https://twitter.com/rnartist_app/status/1714315738691903512" target="_blank" rel="noopener noreferrer"&gt;screenshot by &lt;strong&gt;RNArtist&lt;/strong&gt;&lt;/a&gt;
 showing: &amp;ldquo;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.&amp;rdquo;.&lt;/li&gt;
&lt;li&gt;Here you can find &lt;a href="https://twitter.com/rnartist_app/status/1715295482195349674" target="_blank" rel="noopener noreferrer"&gt;a picture to summarize the new workflow&lt;/a&gt;
 that will be in RNArtist 1.1.0.&lt;/li&gt;
&lt;li&gt;And he shared a blog post: &lt;a href="https://fjossinet.github.io/visualize-experimental-data/" target="_blank" rel="noopener noreferrer"&gt;Visualize experimental data on your RNA 2D&lt;/a&gt;
.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/lanthale/PhotoSlide/releases/tag/v1.3.3" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Clemens Lanthaler&lt;/strong&gt; release V1.3.3 of Photoslide&lt;/a&gt;
, 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: &amp;ldquo;Thanks to FXGL examples the filters are now realtime and therefore I can now start implementing more filters and the edit module&amp;rdquo;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Tobias Briones&lt;/strong&gt; is working on &lt;a href="https://blog.mathsoftware.engineer/leveraging-git-to-finish-my-article-2023-10-09" target="_blank" rel="noopener noreferrer"&gt;Building Slides from Screenshots App in JavaFX: &amp;ldquo;A great title where I granularly blogged the development of a powerful JavaFX desktop app&amp;rdquo;&lt;/a&gt;
.
&lt;ul&gt;
&lt;li&gt;And he has a &lt;a href="https://www.linkedin.com/posts/tobiasbriones_softwareengineering-machinelearning-ai-activity-7117552150427095040-uYtb/" target="_blank" rel="noopener noreferrer"&gt;&amp;ldquo;JavaFX app that uses Tesseract OCR to detect words in the slide images, allowing users to underline them accurately&amp;rdquo;&lt;/a&gt;
.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;OrangoMango&lt;/strong&gt; shared a &lt;a href="https://youtube.com/shorts/bP25LmL8TCk" target="_blank" rel="noopener noreferrer"&gt;video showing his logic simulator app&lt;/a&gt;
. More info, link to the sources and browser version can be found on &lt;a href="https://orangomango.itch.io/logicsimulator" target="_blank" rel="noopener noreferrer"&gt;orangomango.itch.io/logicsimulator&lt;/a&gt;
.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-3-games"&gt;Games&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;GZYangKui&lt;/strong&gt; has spent some time optimizing the audio and video output of his Nintendo-like game: &lt;a href="https://twitter.com/YangKui7/status/1711764945946501188" target="_blank" rel="noopener noreferrer"&gt;&amp;ldquo;The results were quite satisfactory&amp;rdquo;&lt;/a&gt;
.
&lt;ul&gt;
&lt;li&gt;And shared a few retro game videos:&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/YangKui7/status/1715650412856893867" target="_blank" rel="noopener noreferrer"&gt;The taste of childhood&amp;hellip;&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/YangKui7/status/1717077263533949406" target="_blank" rel="noopener noreferrer"&gt;Successfully supported the Nintendo MMC3 cardridge&lt;/a&gt;
.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Alessio Vinerbi&lt;/strong&gt; is making a &lt;a href="https://twitter.com/Alessio_Vinerbi/status/1710307540775354454" target="_blank" rel="noopener noreferrer"&gt;trash game&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/AlmasBaim/status/1658565437053980691" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Almas Baim&lt;/strong&gt; shared a video&lt;/a&gt;
 after a &amp;ldquo;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.&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-4-components-libraries-tools"&gt;Components, Libraries, Tools&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://pixelduke.com/2023/10/02/fxthemes-java-javafx-library-released/" target="_blank" rel="noopener noreferrer"&gt;A new library announcement by &lt;strong&gt;Pedro Duque Vieira&lt;/strong&gt;, FXThemes&lt;/a&gt;
: &amp;ldquo;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.&amp;rdquo; The announcement page also contains more info about the reason of providing this functionality in a new library.
&lt;ul&gt;
&lt;li&gt;True Dark Mode on Windows10 &lt;a href="https://twitter.com/P_Duke/status/1714655184327168474" target="_blank" rel="noopener noreferrer"&gt;will be available soon in a new release of FXThemes&lt;/a&gt;
: &amp;ldquo;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.&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/dlemmermann/status/1707043072956113368" target="_blank" rel="noopener noreferrer"&gt;GemsFX 1.82.0 by &lt;strong&gt;Dirk Lemmermann&lt;/strong&gt;&lt;/a&gt;
 with:
&lt;ul&gt;
&lt;li&gt;Early access version of a TreeNodeView with many configuration options (added by &lt;a href="https://twitter.com/LeeWyatt_7788" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;LeeWyatt&lt;/strong&gt;&lt;/a&gt;
)&lt;/li&gt;
&lt;li&gt;Gives you controls / pickers for: choosing a date, choosing a date range, choosing a month, choosing a year, choosing a time, choosing a duration.&lt;/li&gt;
&lt;li&gt;See the &lt;a href="https://www.youtube.com/watch?v=n7HesjJZ7K4" target="_blank" rel="noopener noreferrer"&gt;DateRangePicker control in action here&lt;/a&gt;
.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;JPro&lt;/strong&gt; announced &lt;a href="https://www.jpro.one/docs/current/3.1/2023.3.X" target="_blank" rel="noopener noreferrer"&gt;version 2023.3.0&lt;/a&gt;
: JavaFX 21 is used by default, and many more improvements!
&lt;ul&gt;
&lt;li&gt;And &lt;a href="https://jpro.one/docs/current/3.1/2023.3.X" target="_blank" rel="noopener noreferrer"&gt;version 2023.3.1&lt;/a&gt;
 with a critical bugfix to handle bot traffic better, and a new feature regarding MimeTypes.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-5-podcast-video-books"&gt;Podcast, Video, Books&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Robert von Burg&lt;/strong&gt; and &lt;strong&gt;Frank Delporte&lt;/strong&gt; had some fun during a live &lt;a href="https://www.youtube.com/watch?v=eToIXACqSuY" target="_blank" rel="noopener noreferrer"&gt;video stream with LED strips and a JavaFX UI&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;Presentations at Devoxx in Antwerpen, Belgium:
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Kevin Rushforth&lt;/strong&gt;:&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=Afehjldx4yM" target="_blank" rel="noopener noreferrer"&gt;Building and Deploying Java Client Desktop Applications With JDK 21 and Beyond&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=R9yhbaN5Xxs" target="_blank" rel="noopener noreferrer"&gt;JavaFX Notebook&lt;/a&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://twitter.com/cpreisler/status/1710291345590345799" target="_blank" rel="noopener noreferrer"&gt;Remark by &lt;strong&gt;Chad Preisler&lt;/strong&gt;&lt;/a&gt;
: &amp;ldquo;JavaFX Notebook would attract the scientific community to Java, because if you&amp;rsquo;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.&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Johan Vos&lt;/strong&gt;:&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=eylmTHUGcks" target="_blank" rel="noopener noreferrer"&gt;Quantum Computing in Java: an exceptionential opportunity&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://jvm.social/@Birdasaur" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Sean Phillips&lt;/strong&gt;&lt;/a&gt;
:&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=LYtZRWo4t4E" target="_blank" rel="noopener noreferrer"&gt;Explainable AI Analysis Visualization: Applications from Brain Computer Interfaces to ChatGPT&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;In between sessions, he &lt;a href="https://twitter.com/SeanMiPhillips/status/1709184231916573012" target="_blank" rel="noopener noreferrer"&gt;updated the dev branch for of his XAI tool Trinity&lt;/a&gt;
 to support audio file processing, playback and spectrum analysis in 3D.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://mastodon.xyz/@melix" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Cédric Champeau&lt;/strong&gt;&lt;/a&gt;
:&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=j6KMOXhldEs" target="_blank" rel="noopener noreferrer"&gt;JSol&amp;rsquo;Ex : solar image processing written in Java&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Paul and Gail Anderson&lt;/strong&gt;:&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=3nT8vurpmqc" target="_blank" rel="noopener noreferrer"&gt;Say the Words: Modern Java with JavaFX and GraalVM for Rich Client UIs&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Thanos Stratikopoulos&lt;/strong&gt; : &lt;a href="https://www.youtube.com/watch?v=POanHvoC4qA" target="_blank" rel="noopener noreferrer"&gt;TornadoVM: Write once, run everywhere everywhere!&lt;/a&gt;
. He demonstrates an impressive performance boost with a JavaFX ray tracer using the GPU. Sources of the demo are available on &lt;a href="https://github.com/Vinhixus/TornadoVM-Ray-Tracer" target="_blank" rel="noopener noreferrer"&gt;github.com/Vinhixus/TornadoVM-Ray-Tracer&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Nicolai Parlog&lt;/strong&gt; published the &lt;a href="https://www.youtube.com/watch?v=WoQJnnMIlFY" target="_blank" rel="noopener noreferrer"&gt;second half of his video report of Devoxx Belgium&lt;/a&gt;
, including an interview with &lt;strong&gt;Kevin Rushforth&lt;/strong&gt; about GUI development with Java.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-6-tutorials"&gt;Tutorials&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Please keep an eye on &lt;strong&gt;Edward Nyirenda Jr&lt;/strong&gt; &amp;rsquo;s website as he keeps on giving! For instance, &lt;a href="https://coderscratchpad.com/javafx-with-gradle/" target="_blank" rel="noopener noreferrer"&gt;&amp;ldquo;JavaFX with Gradle&amp;rdquo;&lt;/a&gt;
 was published this month.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-7-miscellaneous"&gt;Miscellaneous&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://twitter.com/P_Duke/status/1711370140216955086" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Pedro Duque Vieira&lt;/strong&gt; shares a video&lt;/a&gt;
 to illustrate that a JavaFX scene graph can handle a lot of nodes: &amp;ldquo;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).&amp;rdquo;&lt;/li&gt;
&lt;li&gt;Impressive 3D results by &lt;strong&gt;OrangoMango&lt;/strong&gt; , considering he is running it on a Raspberry Pi: &lt;a href="https://twitter.com/orango_mango/status/1711777605702005138" target="_blank" rel="noopener noreferrer"&gt;&amp;ldquo;If I render the triangles, the application runs at 5 fps.&amp;rdquo;&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Homebookner&lt;/strong&gt; shared a link to an interesting project by &lt;strong&gt;Sheikah45&lt;/strong&gt; : &lt;a href="https://github.com/Sheikah45/fx2j" target="_blank" rel="noopener noreferrer"&gt;FX2J - FXML to Java Builder&lt;/a&gt;
: a post-processor that converts fxml files into Java builder source files.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Christopher Schnick&lt;/strong&gt; &lt;a href="https://mail.openjdk.org/pipermail/openjfx-dev/2023-October/043118.html" target="_blank" rel="noopener noreferrer"&gt;reported some issues on new gnome-based desktops&lt;/a&gt;
, e.g. on Ubuntu 23: &amp;ldquo;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.&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-8-jfx-central"&gt;JFX Central&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;New content
&lt;ul&gt;
&lt;li&gt;Libraries&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.jfx-central.com/libraries/transit" target="_blank" rel="noopener noreferrer"&gt;Transit Theme&lt;/a&gt;
: builds upon the lessons and my work with JMetro.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.jfx-central.com/libraries/fxthemes" target="_blank" rel="noopener noreferrer"&gt;FXThemes&lt;/a&gt;
: classes to help in advanced theme development.&lt;/li&gt;
&lt;li&gt;Showcase application&lt;/li&gt;
&lt;li&gt;&lt;a href="https://jfx-central.com/showcases/trinity" target="_blank" rel="noopener noreferrer"&gt;Trinity&lt;/a&gt;
: Explainable AI analysis tool and 3D visualization) by &lt;strong&gt;Sean Phillips&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Tutorials&lt;/li&gt;
&lt;li&gt;We already mentioned a few times the tutorials by &lt;strong&gt;Edward Nyirenda Jr&lt;/strong&gt; in these Links Of The Week. You can &lt;a href="https://www.jfx-central.com/tutorials/coderscratchpad" target="_blank" rel="noopener noreferrer"&gt;find them now in the tutorial-section&lt;/a&gt;
.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;The summary with all the JFX Central links of September got &lt;a href="https://foojayio.github.io/website/today/javafx-links-of-september-2023/"&gt;published on Foojay.io&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Dirk Lemmermann&lt;/strong&gt; shared a &lt;a href="https://twitter.com/dlemmermann/status/1716417891371770052" target="_blank" rel="noopener noreferrer"&gt;screenshot that shows the very helpful menu&lt;/a&gt;
, provided when you locally install JFX Central.&lt;/li&gt;
&lt;li&gt;A &lt;a href="https://twitter.com/dlemmermann/status/1714227457086124072" target="_blank" rel="noopener noreferrer"&gt;first video by &lt;strong&gt;Dirk Lemmermann&lt;/strong&gt;&lt;/a&gt;
 showing JFX Central running as an app on iOS.
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://twitter.com/dlemmermann/status/1715759319457665510" target="_blank" rel="noopener noreferrer"&gt;&amp;ldquo;Entered a first testing phase for iOS. Hopefully will be available soon in Apple&amp;rsquo;s AppStore&amp;rdquo;&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;But it seems &lt;a href="https://twitter.com/dlemmermann/status/1717481578408841255" target="_blank" rel="noopener noreferrer"&gt;Apple doesn&amp;rsquo;t like it&amp;hellip;&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Multiple tools will be available soon:
&lt;ul&gt;
&lt;li&gt;SVG Path Extractor&lt;/li&gt;
&lt;li&gt;Effect Designer (shadows, blurs, etc&amp;hellip;)&lt;/li&gt;
&lt;li&gt;Gradient Designer&lt;/li&gt;
&lt;li&gt;CSS Playground&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/dlemmermann/status/1716343834584506864" target="_blank" rel="noopener noreferrer"&gt;Pixel to EM Converter&lt;/a&gt;
 for quickly converting all your pixel values in your CSS file to em values for proper scaling.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Work is ongoing by &lt;strong&gt;Li Wang Yang&lt;/strong&gt; to bring new &amp;ldquo;Learn&amp;rdquo; sections to JFX Central:
&lt;ul&gt;
&lt;li&gt;&amp;ldquo;Getting Started with JavaFX&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&amp;ldquo;JavaFX on Mobile&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&amp;ldquo;JavaFX on Raspberry Pi&amp;rdquo;&lt;/li&gt;
&lt;li&gt;Thanks to &lt;a href="https://www.jfx-central.com/people/g.anderson" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Gail Anderson&lt;/strong&gt;&lt;/a&gt;
, &lt;a href="https://www.jfx-central.com/people/p.anderson" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Paul Anderson&lt;/strong&gt;&lt;/a&gt;
, &lt;a href="https://www.jfx-central.com/people/e.nyirenda" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Edward Nyirenda Jr&lt;/strong&gt;&lt;/a&gt;
, and &lt;a href="https://www.jfx-central.com/people/f.delporte" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Frank Delporte&lt;/strong&gt;&lt;/a&gt;
 for sharing their tutorials!&lt;/li&gt;
&lt;li&gt;Check the tickets to see what is happening&amp;hellip;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/dlsc-software-consulting-gmbh/jfxcentral2/issues/512" target="_blank" rel="noopener noreferrer"&gt;#512 New main section: Learn&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/dlsc-software-consulting-gmbh/jfxcentral-data/issues/312" target="_blank" rel="noopener noreferrer"&gt;#312 Content for the Learn JavaFX section&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
&lt;br /&gt;</description></item><item><title>Navigating Behaviour with Events</title><link>https://foojayio.github.io/website/today/navigating-behaviour-with-events/</link><pubDate>Wed, 25 Oct 2023 15:04:35 +0000</pubDate><guid>https://foojayio.github.io/website/today/navigating-behaviour-with-events/</guid><description>&lt;h2 id="h2-0-two-approaches"&gt;Two Approaches&lt;/h2&gt;
&lt;p&gt;There&amp;rsquo;s little doubt that modern software architectures lean towards asynchronous models for communication between distributed components (where &amp;ldquo;distributed&amp;rdquo; means components that are not part of the same process, be they on the same or on different physical machines). Synchronous models such as Remote Procedure Call (RPC) are now largely discredited [&lt;a href="https://www.researchgate.net/profile/Ellen-Isaacs/publication/220168963_Why_do_users_like_video/links/02e7e5186b67219c70000000/Why-do-users-like-video.pdf#page=89" title="Waldo" target="_blank" rel="noopener noreferrer"&gt;Waldo&lt;/a&gt;
, &lt;a href="http://steve.vinoski.net/blog/2008/07/01/convenience-over-correctness/" title="Vinoski" target="_blank" rel="noopener noreferrer"&gt;Vinoski&lt;/a&gt;
]; even asynchronous variants of these are not seen as desirable.&lt;/p&gt;
&lt;p&gt;When we strip away the layers that present the illusion that RPC is really just the same as Local Procedure Call (i.e. a normal method invocation), we find sitting above the transport some form of messaging protocol. And these days, the APIs seem more willing to expose developers to these lower-level details, making it clear to programmers that communication with a remote component is inherently more complex than making a simple procedure call.&lt;/p&gt;</description></item><item><title>Foojay Podcast #31: Report of Devoxx 23 in Belgium</title><link>https://foojayio.github.io/website/today/foojay-podcast-31/</link><pubDate>Mon, 16 Oct 2023 07:16:57 +0000</pubDate><guid>https://foojayio.github.io/website/today/foojay-podcast-31/</guid><description>&lt;p&gt;The first week of October, the 20th edition of Devoxx took place in Antwerp, Belgium.&lt;/p&gt;
&lt;p&gt;Over 3000 Java developers, speakers, and enthusiasts gathered to share their knowledge and learn from each other.&lt;/p&gt;
&lt;p&gt;I got the opportunity to walk around with a microphone and talk to visitors and speakers.&lt;/p&gt;
&lt;p&gt;Not all of them, as there were just too many people and too many exciting sessions happening simultaneously.&lt;/p&gt;
&lt;div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;"&gt;
			&lt;iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube.com/embed/VJJmoiP7e-I?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video"&gt;&lt;/iframe&gt;
		&lt;/div&gt;

&lt;h2 id="h2-0-podcast-apps"&gt;Podcast Apps&lt;/h2&gt;
&lt;p&gt;You can listen and subscribe to the Foojay Podcast on:&lt;/p&gt;</description></item><item><title>JavaFX Links of September 2023</title><link>https://foojayio.github.io/website/today/javafx-links-of-september-2023/</link><pubDate>Sat, 30 Sep 2023 15:21:12 +0000</pubDate><guid>https://foojayio.github.io/website/today/javafx-links-of-september-2023/</guid><description>&lt;p&gt;This month OpenJDK and OpenJDK 21 got officially released, so links to the new downloads but also to the early access builds of the next one!&lt;/p&gt;
&lt;p&gt;Here is the overview of the JavaFX LinksOfTheWeek that got published on &lt;a href="https://www.jfx-central.com/" target="_blank" rel="noopener noreferrer"&gt;jfx-central.com&lt;/a&gt;
 during September.&lt;/p&gt;
&lt;h2 id="h2-0-core"&gt;Core&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://techhub.social/@gluonhq/111092296190292324" target="_blank" rel="noopener noreferrer"&gt;Announcement by &lt;strong&gt;GluonHQ&lt;/strong&gt;&lt;/a&gt;
: &amp;ldquo;We&amp;rsquo;re proud to announce JavaFX 21 GA. Download the SDK/jmods from &lt;a href="https://gluonhq.com/products/javafx/" target="_blank" rel="noopener noreferrer"&gt;gluonhq.com/products/javafx/&lt;/a&gt;
 or get the artifacts from Maven central. Release notes with many fixes and enhancements at &lt;a href="https://gluonhq.com/products/javafx/openjfx-21-release-notes/" target="_blank" rel="noopener noreferrer"&gt;gluonhq.com/products/javafx/openjfx-21-release-notes&lt;/a&gt;
. Great work by a growing number of contributors!&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/openjdk/jfx/blob/master/doc-files/release-notes-21.md" target="_blank" rel="noopener noreferrer"&gt;Release notes by &lt;strong&gt;Kevin Rushforth&lt;/strong&gt; on GitHub&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;Builds are available from java.net:
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://download.java.net/java/GA/javafx21/69ca518c413e4df09f6be747a2400cf6/31/GPL/openjfx-21_linux-x64_bin-sdk.tar.gz" target="_blank" rel="noopener noreferrer"&gt;Linux / x64&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://download.java.net/java/GA/javafx21/69ca518c413e4df09f6be747a2400cf6/31/GPL/openjfx-21_macos-aarch64_bin-sdk.tar.gz" target="_blank" rel="noopener noreferrer"&gt;macOS / AArch64&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://download.java.net/java/GA/javafx21/69ca518c413e4df09f6be747a2400cf6/31/GPL/openjfx-21_macos-x64_bin-sdk.tar.gz" target="_blank" rel="noopener noreferrer"&gt;macOS / x64&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://download.java.net/java/GA/javafx21/69ca518c413e4df09f6be747a2400cf6/31/GPL/openjfx-21_windows-x64_bin-sdk.zip" target="_blank" rel="noopener noreferrer"&gt;Windows / x64&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;And on the &lt;a href="https://gluonhq.com/products/javafx/" target="_blank" rel="noopener noreferrer"&gt;Gluon website&lt;/a&gt;
.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://mastodon.social/@openjdk/111109621684880527" target="_blank" rel="noopener noreferrer"&gt;EA (early access) builds of JavaFX 22&lt;/a&gt;
!
&lt;ul&gt;
&lt;li&gt;JavaFX 22 Early-Access Builds are available here:&lt;/li&gt;
&lt;li&gt;&lt;a href="https://jdk.java.net/javafx22/" target="_blank" rel="noopener noreferrer"&gt;jdk.java.net/javafx22&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://gluonhq.com/products/javafx/" target="_blank" rel="noopener noreferrer"&gt;gluonhq.com/products/javafx&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://bugs.openjdk.org/issues/?jql=project%20%3D%20JDK%20AND%20fixversion%20%3D%20jfx22%20and%20component%20%3d%20javafx%20and%20%22resolved%20in%20build%22%20%3d%20b10%20order%20by%20component%2C%20subcomponent" target="_blank" rel="noopener noreferrer"&gt;Issues addressed in this build&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;The proposed schedule for JavaFX 22:&lt;/li&gt;
&lt;li&gt;RDP1: Jan 11, 2024 (aka &amp;ldquo;feature freeze&amp;rdquo;)&lt;/li&gt;
&lt;li&gt;RDP2: Feb 1, 2024&lt;/li&gt;
&lt;li&gt;Freeze: Feb 29, 2024&lt;/li&gt;
&lt;li&gt;GA: Mar 19, 2024&lt;/li&gt;
&lt;li&gt;JavaFX 22-ea is designed to work with JDK 22-ea, but it is known to work with JDK 17 and later versions.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/dlemmermann/status/1707024018232983615" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Dirk Lemmermann&lt;/strong&gt; is experimenting with 22-ea+9&lt;/a&gt;
: &amp;ldquo;Showing correct bold text on macOS and much lower initial memory consumption in our CRM software&amp;rdquo;.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://mastodon.social/@johanvos/111121272095237602" target="_blank" rel="noopener noreferrer"&gt;A message by &lt;strong&gt;Johan Vos&lt;/strong&gt;&lt;/a&gt;
: &amp;ldquo;One of the great (non-technical) things about JavaFX is that it is not owned by a single company that tries to use it for its business strategy (e.g. like Google does with most of their &amp;ldquo;free&amp;rdquo; stuff). It is really the wide JavaFX ecosystem that drives JavaFX forward, and that allows for pure and honest innovation.&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-1-applications"&gt;Applications&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://twitter.com/OnkelStipe/status/1696236782885474494" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Onkel Stipe&lt;/strong&gt; shared a screenshot of SoundLab&lt;/a&gt;
: &amp;ldquo;I developed it to investigate in generating realtime virtual analog sounds. The Oscilloscope feels quite analog. It also has a realtime spectrum and a view called &amp;ldquo;klangteppich&amp;rdquo;, which nicely imitates the spectral view of audacity.&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/WhiteWoodCity/status/1694998831480614954" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;WhiteWoodCity&lt;/strong&gt; is upgrading dillon-boot-fx, a Permission Management System UI&lt;/a&gt;
, to JDK 17+ and also providing jigsaw support.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/makingthematrix/status/1695108624400482636" target="_blank" rel="noopener noreferrer"&gt;Fx Calculator by &lt;strong&gt;Maciek Gorywoda&lt;/strong&gt; is now available at Google Play Store&lt;/a&gt;
! &amp;ldquo;Written in Scala 3, JavaFX, and built with GraalVM Native Image&amp;rdquo;&lt;/li&gt;
&lt;li&gt;The next version of JDKMon, the tool to keep your Java installations up-to-date, will now also show you the dates of the next OpenJDK update and the next OpenJDK release, &lt;a href="https://mastodon.social/@hansolo_/111028113635396197" target="_blank" rel="noopener noreferrer"&gt;says &lt;strong&gt;Gerrit Grunwald&lt;/strong&gt;&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://foojay.social/@jabref/110994245236386244" target="_blank" rel="noopener noreferrer"&gt;JabRef is using Java 21 for their new release 5.10&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;The &lt;a href="https://twitter.com/orango_mango/status/1698269059513462867" target="_blank" rel="noopener noreferrer"&gt;Logic simulator by &lt;strong&gt;OrangoMango&lt;/strong&gt; got updated to v1.1 update&lt;/a&gt;
: &amp;ldquo;A new web version made with WebFX, bug fix, RGB lights and some UI changes.&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/surajit8017/status/1700781040779022628" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;surajit&lt;/strong&gt; completed M-AID (Retail Pharmacy Management)&lt;/a&gt;
: &amp;ldquo;With a mobile app that is always connected to the desktop app via Wi-Fi, no internet is needed for operations.&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/rnartist_app" target="_blank" rel="noopener noreferrer"&gt;RNArtist by &lt;strong&gt;Fabrice Jossinet&lt;/strong&gt; offers now an undo/redo feature&lt;/a&gt;
: &amp;ldquo;It can even iterate automatically over its history. Take a look at my attempt to produce a better layout for an archaea LSU rRNA (green blinking = redo, orange = undo).&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/Biometrics_Eng/status/1704443412546474137" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Biometrics Engineer&lt;/strong&gt; shared a video&lt;/a&gt;
 showing a &amp;ldquo;JavaFX Linux Biometric Time and Attendance - Staff Registration DEMO that is implemented on Ubuntu Linux using ARATEK A600 Biometric Fingerprint Scanner.&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/rnartist_app/status/1702674834193252446" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;RNArtist&lt;/strong&gt; is announcing&lt;/a&gt;
: &amp;ldquo;Installers will be available next week. Thanks to the very good tool JDeploy, you will automatically get the latest version after each launch of RNArtist. Now it&amp;rsquo;s time to write some documentation&amp;hellip;&amp;rdquo;
&lt;ul&gt;
&lt;li&gt;And shared &lt;a href="https://twitter.com/rnartist_app/status/1702641134923583639" target="_blank" rel="noopener noreferrer"&gt;screenshots of the tool 3 years ago versus now&lt;/a&gt;
, with some very nice comments and links to the project in the thread.&lt;/li&gt;
&lt;li&gt;BTW, as someone pointed out, you can maybe use this tool to design airport terminals&amp;hellip; 😉&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/SeanMiPhillips/status/1703038446854345000" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Sean Phillips&lt;/strong&gt; is using Trinity for&lt;/a&gt;
: &amp;ldquo;Detecting ChatGTP generated medium size text blocks using manifold approximation, polyhedral volume techniques and JavaFX 3D. Sorry not sorry bad guys.&amp;rdquo;
&lt;ul&gt;
&lt;li&gt;And &lt;a href="https://twitter.com/SeanMiPhillips/status/1703172036669972494" target="_blank" rel="noopener noreferrer"&gt;Apple M2 silicon (Arm64) builds&lt;/a&gt;
 now supported through Trinity&amp;rsquo;s GitHub Actions thanks to the magnificent CI work of samypr100!&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/_MalikHamida/status/1707405711401963981" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Malik Hamida&lt;/strong&gt; is working on a micro banking system project&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.linkedin.com/posts/eltayeb-ibrahim-98324a193_javafx-java-javascript-activity-7113009374276526080-G99X" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Eltayeb Ibrahim&lt;/strong&gt; created a user-friendly Product Management System using JavaFX for the frontend&lt;/a&gt;
 and Node.js with Express.js framework for the backend.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/Heshantk/status/1707473425395286439" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Heshan Thenura Kariyawasam&lt;/strong&gt; made a File Shredder app&lt;/a&gt;
 and shared the sources.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-2-games"&gt;Games&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://twitter.com/LondonSoftworks/status/1696427139212447753" target="_blank" rel="noopener noreferrer"&gt;London Softworks is working on a new Particle Editor and making progress with an OpenGL context being rendered to a JavaFX Canvas object (in real-time)&lt;/a&gt;
: &amp;ldquo;Making good use of FBO&amp;rsquo;s for this one. Now to sort the colour issue out&amp;hellip;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/orango_mango/status/1703057689582993815" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;OrangoMango&lt;/strong&gt; announces &amp;ldquo;Chess 2.0 is finally complete&amp;rdquo;&lt;/a&gt;
: &amp;ldquo;The WebFX version is now available at &lt;a href="https://orangomango.itch.io/chess" target="_blank" rel="noopener noreferrer"&gt;orangomango.itch.io/chess&lt;/a&gt;
. Play single player against stockfish. Play multiplayer against a friend in LAN or on the server.&amp;rdquo;&lt;/li&gt;
&lt;li&gt;Always fun when &lt;a href="https://twitter.com/AlmasBaim/status/1703483255331094569" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Almas Baim&lt;/strong&gt; shares one of his experiments with FXGL&lt;/a&gt;
: &amp;ldquo;&amp;hellip; and in this episode of how to inefficiently clear the screen &amp;hellip;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.linkedin.com/feed/update/urn:li:activity:7109933250885685248/" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Ahmed Bakr&lt;/strong&gt; completed a Tic Tac Toe Game with Tiva C and JavaFX&lt;/a&gt;
: &amp;ldquo;Our primary goal in undertaking this project was to explore the integration of microcontrollers with high-powered processing computers to tackle tasks beyond the capabilities of a standalone microcontroller.&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/WhiteWoodCity/status/1706656526726045930" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;WhiteWoodCity&lt;/strong&gt; made his game demo and self-made game utilities&lt;/a&gt;
 fully open source on &lt;a href="https://github.com/chengenzhao/fxcity" target="_blank" rel="noopener noreferrer"&gt;github.com/chengenzhao/fxcity&lt;/a&gt;
.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-3-components-libraries-tools"&gt;Components, Libraries, Tools&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://twitter.com/P_Duke/status/1696149890370285877" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Pedro Duque Vieira&lt;/strong&gt; released a new library, a JavaFX theme called Transit Theme&lt;/a&gt;
: &amp;ldquo;Modern look and feel, Zero tight coupling, Looks integrated on Windows, Also works well on other OSes, Light and Dark versions,&amp;hellip;&amp;rdquo;
&lt;ul&gt;
&lt;li&gt;The announcement of this new Transit Theme &lt;a href="https://foojayio.github.io/website/today/new-javafx-theme-library-transit-released/"&gt;got published on &lt;strong&gt;Foojay.io&lt;/strong&gt;&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Pedro&lt;/strong&gt; is also working on a &lt;a href="https://twitter.com/P_Duke/status/1701577162015363556" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;dark mode&lt;/strong&gt;&lt;/a&gt;
: &amp;ldquo;JavaFX Windows are always shown in Light mode (window frames with light color). This new API I&amp;rsquo;ve created will allow the developer to set dark mode on a native window. New API will also allow other changes to a window.&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/P_Duke/status/1704488446138454335" target="_blank" rel="noopener noreferrer"&gt;And he added a new API to FXComponents&lt;/a&gt;
: &amp;ldquo;To allow you to change the native Window frame color, native Window text color, and border. (Standard JavaFX API will always show a native Window frame with the same light color with no possibility to change it.)&amp;rdquo;&lt;/li&gt;
&lt;li&gt;The release of the new FXComponents library was also &lt;a href="https://foojayio.github.io/website/today/new-fxcomponents-library-released/"&gt;published on Foojay&lt;/a&gt;
.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/dlemmermann/status/1697192575969493372" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Dirk Lemmermann&lt;/strong&gt; released version 3.0.0 of PDFViewFX&lt;/a&gt;
: &amp;ldquo;This release is based on Apache PDFBox 3, which contains an impressive list of fixes and enhancements.&amp;rdquo;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://twitter.com/dlemmermann/status/1704045289743495407" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Dirk&lt;/strong&gt; has a friendly reminder&lt;/a&gt;
: &amp;ldquo;When creating custom controls for your JavaFX project, please make sure you have a way to properly test them standalone (e.g. via &lt;a href="https://jfx-central.com/tools/fxsampler" target="_blank" rel="noopener noreferrer"&gt;FXSampler&lt;/a&gt;
).&amp;rdquo;&lt;/li&gt;
&lt;li&gt;He is also &lt;a href="https://twitter.com/dlemmermann/status/1704846555004502306" target="_blank" rel="noopener noreferrer"&gt;pimping the CalendarView control in GemsFX&lt;/a&gt;
 and adding all kinds of options: &amp;ldquo;E.g. different layout for the header and also quick picking months and years). Come and check it out, let me know what you think or I missed.&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/javasunsFX/status/1696959645384839544" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;JavaSuns&lt;/strong&gt; came upon this great small pure Java library, SimplePNG&lt;/a&gt;
, for storing JavaFX images to PNG files. Great compression ratios and file sizes achieved with the use of PNGJavaFXUtils class.&lt;/li&gt;
&lt;li&gt;A new week, a &lt;a href="https://twitter.com/P_Duke/status/1698687283971432648?s=20" target="_blank" rel="noopener noreferrer"&gt;new library by &lt;strong&gt;Pedro Duque Vieira&lt;/strong&gt;: FXComponents&lt;/a&gt;
. It contains a collection of new controls to be used in JavaFX applications.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;WhiteWoodCity&lt;/strong&gt; extended JavaFX, FXGL, and AtlantaFX to reduce function of binding, multiple game scenes support and navigation of them, enhanced animations, self-made theme,&amp;hellip; &lt;a href="https://twitter.com/WhiteWoodCity/status/1697975469965263093?s=20" target="_blank" rel="noopener noreferrer"&gt;Check the X thread&lt;/a&gt;
, as he shared the code!&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/johanvos/status/1699335002599649549" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Johan Vos&lt;/strong&gt; shared a link to the GitHub project of Rich Text Area&lt;/a&gt;
: &amp;ldquo;One of the cool GluonHQ tools we are developing/maintaining&amp;rdquo;.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.linkedin.com/posts/carldea_javafx-activity-7081463432486477824-LCev/" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Carl Dea&lt;/strong&gt; is prototyping a new JavaFX-based Dockable windowing library&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://mastodon.social/@svenruppert/111064088106916273" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Sven Ruppert&lt;/strong&gt; announced the release of version 4 of TestFX&lt;/a&gt;
, simple and clean testing for JavaFX. Check &lt;a href="https://github.com/TestFX/TestFX/releases/tag/v4.0.17" target="_blank" rel="noopener noreferrer"&gt;GitHub for all changes&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/SeanMiPhillips/status/1700852671287107803" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Sean Phillips&lt;/strong&gt; announced a new release of the special effects library LitFX&lt;/a&gt;
: lightning, radio waves/bands, line of sight lighting and shadowing, animated window and floating panes, flame convolution.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/MichaelPaus/status/1701214040876323013" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Michael Paus&lt;/strong&gt; has done a basic POC for Skia integration into JavaFX&lt;/a&gt;
.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-4-tutorials"&gt;Tutorials&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.linkedin.com/posts/mark-baird-5565786_how-to-use-the-java-maps-sdk-in-a-raspberry-activity-7100825332420599808-w5P7/" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Mark Baird&lt;/strong&gt; released the second in a series of blog posts showing how to use the beta release of the Java Maps SDK (with support for Arm Linux devices) with a Raspberry Pi&lt;/a&gt;
 to integrate IoT data collection into your geospatial applications.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/EdwardAlgorist/status/1697359282449072213" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Edward Nyirenda Jr&lt;/strong&gt; explains how to add TextField autocompletion in JavaFX using ControlsFX&lt;/a&gt;
: &amp;ldquo;TextField autocompletion is a convenient feature that enhances user experience by providing suggestions or predictions as users type into a text field.&amp;rdquo;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://twitter.com/EdwardAlgorist" target="_blank" rel="noopener noreferrer"&gt;Check his Twitter/X timeline for more tutorials&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;Highlighting one of the many other tutorials &lt;a href="https://twitter.com/EdwardAlgorist/status/1707165031622717625" target="_blank" rel="noopener noreferrer"&gt;&amp;ldquo;JavaFX Clipboard&amp;rdquo;&lt;/a&gt;
: &amp;ldquo;In the JavaFX framework, clipboard functionality is seamlessly integrated, making it easy for developers to provide a smooth and user-friendly experience.&amp;rdquo;&lt;/li&gt;
&lt;li&gt;All Edward&amp;rsquo;s tutorials are available on his website &lt;a href="https://coderscratchpad.com/category/computer-programming/javafx/" target="_blank" rel="noopener noreferrer"&gt;coderscratchpad.com&lt;/a&gt;
.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Gluon&lt;/strong&gt; shared four new tutorial/screencasts on YouTube:
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=ZIvSBK66tvQ" target="_blank" rel="noopener noreferrer"&gt;Introduction to Emoji&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=aST8C2N5k4g" target="_blank" rel="noopener noreferrer"&gt;Introduction to Gluon Maps&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=E2lREX9RFa0" target="_blank" rel="noopener noreferrer"&gt;Introducing Gluon Rich Text Area&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=___Fp_vk4CY" target="_blank" rel="noopener noreferrer"&gt;Basic usage of Gluon Rich Text Area&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/jachampagne8/status/1700547961921352094" target="_blank" rel="noopener noreferrer"&gt;Part 4 of the video tutorials in French by &lt;strong&gt;Jason Champagne&lt;/strong&gt;&lt;/a&gt;
: &amp;ldquo;On aborde les premiers contrôles utilisateur sur JavaFX&amp;rdquo; (First user controls in JavaFX).&lt;/li&gt;
&lt;li&gt;&lt;a href="https://mastodon.social/@kenkousen/111035349071040667" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Ken Kousen&lt;/strong&gt; (&amp;ldquo;Tales from the jar side&amp;rdquo;) shared a video&lt;/a&gt;
: &amp;ldquo;Generate images using Java. See how to write Java to drive the Dall-E image tool. Combined text blocks, JSON parsing, records, and even a JavaFX image carousel.&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Edward Nyirenda Jr&lt;/strong&gt; is continuing his series of tutorials: &lt;a href="https://twitter.com/EdwardAlgorist/status/1701348814156685713" target="_blank" rel="noopener noreferrer"&gt;Internationalization in JavaFX: Building Multilingual Apps&lt;/a&gt;
: &amp;ldquo;Internationalization is the process of designing your application so that it can be easily adapted to different languages and regions without code changes.&amp;rdquo;&lt;/li&gt;
&lt;li&gt;In Portuguese by &lt;strong&gt;Edivaldo Brito&lt;/strong&gt; : &lt;a href="https://twitter.com/edivaldobrito/status/1702468670130425979" target="_blank" rel="noopener noreferrer"&gt;&amp;ldquo;Como instalar o Gluon Scene Builder no Linux via Flatpak&amp;rdquo;&lt;/a&gt;
 (How to install Gluon Scene Builder on Linux via Flatpak).&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-5-miscellaneous"&gt;Miscellaneous&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://twitter.com/dlemmermann/status/1696098284002054553" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Dirk Lemmermann&lt;/strong&gt; noticed something remarkable&lt;/a&gt;
: &amp;ldquo;A JavaScript account retweeting a JavaFX tweet? 🙂 What&amp;rsquo;s next? Flying pigs? :-)&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://mastodon.social/@fthevenet/111028413815320945" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Frederic Thevenet&lt;/strong&gt; wrote a long thread on Mastodon&lt;/a&gt;
 to explain why &amp;ldquo;JavaFX is a very solid piece of tech which unfortunately came to maturity at the worst possible time for a &amp;ldquo;desktop application&amp;rdquo; GUI framework.&amp;rdquo;&lt;/li&gt;
&lt;li&gt;Looking for a specific icon? Use &lt;a href="https://twitter.com/dlemmermann/status/1699812103937290590" target="_blank" rel="noopener noreferrer"&gt;JFX Central as &lt;strong&gt;Dirk Lemmermann&lt;/strong&gt; explains here&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;Happy to see more and more references to JavaFX when people discuss app development, like &lt;a href="https://twitter.com/t3chn01200/status/1699016124661121192" target="_blank" rel="noopener noreferrer"&gt;here by &lt;strong&gt;@t3chn01200&lt;/strong&gt;&lt;/a&gt;
 , &lt;a href="https://twitter.com/schramMedia/status/1698728400318341609" target="_blank" rel="noopener noreferrer"&gt;here by &lt;strong&gt;@schramMedia&lt;/strong&gt;&lt;/a&gt;
 and &lt;a href="https://twitter.com/Aman_Raj2241/status/1699840433596297593" target="_blank" rel="noopener noreferrer"&gt;here by &lt;strong&gt;@Aman_Raj2241&lt;/strong&gt;&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://mastodon.acm.org/@koppor/111054057514152665" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Oliver Kopp&lt;/strong&gt; shared more info about the reason to use Java 21 in JabRef&lt;/a&gt;
: &amp;ldquo;We needed to have the fix for a workaround of the 64kb limit of Java. We did not backport our fix to JDK20, but relied on a sufficient quality of JDK21 at the time of our release.&amp;rdquo; Check &lt;a href="https://bugs.openjdk.org/browse/JDK-8240567" target="_blank" rel="noopener noreferrer"&gt;JDK-8240567&lt;/a&gt;
 for more background info and a link to the merge request and code changes in OpenJDK.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/WhiteWoodCity/status/1704296530117906743" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;WhiteWoodCity&lt;/strong&gt; is combining JavaFX and JavaScript&lt;/a&gt;
: &amp;ldquo;Using #Graal polyglot in a JavaFX program.&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/Webswing_org" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Webswing&lt;/strong&gt;&lt;/a&gt;
, a specialized web server for running Java Swing and JavaFX based applications in a web browser, announced a &lt;a href="https://www.webswing.org/es" target="_blank" rel="noopener noreferrer"&gt;Spanish version of their website&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;From time to time, JavaFX (just like Java itself) is declared dead. Luckily, there are many fans to correct this mistake:
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://twitter.com/JavaFX3D/status/1705089119041593691" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;JavaFX3D&lt;/strong&gt;&lt;/a&gt;
: &amp;ldquo;As someone who worked on JavaFX at both Sun and Oracle, I can definitively say that JavaFX is not deprecated. Period.&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/spyced/status/1704888013094834602" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Jonathan Ellis&lt;/strong&gt;&lt;/a&gt;
: &amp;ldquo;Users hate Electron&amp;rsquo;s performance and memory footprint, but devs love it for write-once-run-anywhere. I know we stopped using Swing years ago for good reasons, but still: wouldn&amp;rsquo;t JavaFX be better than Electron?&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/JavaFX3D/status/1705092556617576608" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;JavaFX3D&lt;/strong&gt;&lt;/a&gt;
: &amp;ldquo;I keep seeing uninformed posts, so I&amp;rsquo;d like to set the record straight. &lt;a href="https://www.youtube.com/watch?v=FFlVaB8oTi0" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Kevin Rushforth&lt;/strong&gt; and his team at Oracle are working on JavaFX&lt;/a&gt;
. Equally importantly, &lt;strong&gt;Johan Vos&lt;/strong&gt; and his team at &lt;strong&gt;Gluon&lt;/strong&gt; are the JavaFX WORA magicians.&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/SeanMiPhillips/status/1703401715351904439" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Sean Phillips&lt;/strong&gt;&lt;/a&gt;
: &amp;ldquo;As the lead developer for several of the tools referenced in that article I can say as ground truth that JavaFX was selected as the superior tech stack due to a combination of quality, performance and cross-platform support.&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/SystemsInCode/status/1704796679340224546" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;SystemsInCode&lt;/strong&gt;&lt;/a&gt;
: &amp;ldquo;I would love to leverage the benefits of JavaFX, but it&amp;rsquo;s a hard sell in enterprise when we need to push a critical fix&amp;hellip; It&amp;rsquo;s a shame we have to use sub optimal tech for boring practical reasons 🙂 Being able to FORCE latest version on people even with low rights is critical.&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/P_Duke/status/1706658008820830476" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Pedro Duque Vieira&lt;/strong&gt; shared some hidden messages&lt;/a&gt;
: &amp;ldquo;Hint: squint, move your phone/monitor further away or zoom out, to see it more clearly.&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/crschnick/status/1706982902951485727" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Christopher Schnick&lt;/strong&gt; believes JavaFX applications can always use some more Duke&lt;/a&gt;
.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-6-jfx-central"&gt;JFX Central&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;The JFX Central website is now reachable via both &lt;a href="http://jfxcentral.com" target="_blank" rel="noopener noreferrer"&gt;jfxcentral.com&lt;/a&gt;
 and &lt;a href="http://jfx-central.com" target="_blank" rel="noopener noreferrer"&gt;jfx-central.com&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/dlsc-software-consulting-gmbh/jfxcentral2/commits/develop" target="_blank" rel="noopener noreferrer"&gt;Many improvements&lt;/a&gt;
 are going on&amp;hellip;&lt;/li&gt;
&lt;li&gt;The post by &lt;strong&gt;Frank Delporte&lt;/strong&gt; about the new version of JFX Central got republished on Foojay:
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://foojayio.github.io/website/today/new-user-interface-for-jfx-central-the-home-for-all-javafx-information-part-1/"&gt;Part 1: Description of the site and changes&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://foojayio.github.io/website/today/new-user-interface-for-jfx-central-the-home-for-all-javafx-information-part-2/"&gt;Part 2: Interviews with some of the team members&lt;/a&gt;
.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;New content added to JFX Central
&lt;ul&gt;
&lt;li&gt;Library: &lt;a href="https://www.jfx-central.com/libraries/fxcomponents" target="_blank" rel="noopener noreferrer"&gt;FXComponents&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Showcase: &lt;a href="https://www.jfx-central.com/real_world/maid" target="_blank" rel="noopener noreferrer"&gt;M-AID&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Showcase: &lt;a href="https://www.jfx-central.com/showcases/easycashier" target="_blank" rel="noopener noreferrer"&gt;EasyCashier&lt;/a&gt;
, a POS (point of sale) system from Sweden.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Is your library on JFX Central, or book, or website, or company, or &amp;hellip;? Let the people know &lt;a href="https://twitter.com/dlemmermann/status/1699044022029811824" target="_blank" rel="noopener noreferrer"&gt;by adding a badge&lt;/a&gt;
!&lt;/li&gt;
&lt;li&gt;The initial data load of JFX Central is &lt;a href="https://twitter.com/dlemmermann/status/1699103833131978953?s=20" target="_blank" rel="noopener noreferrer"&gt;reduced by 50% thanks to JGit&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/dlemmermann/status/1706418682170097883" target="_blank" rel="noopener noreferrer"&gt;A new feature got announced that allows you to export any icon font icon to an SVG path&lt;/a&gt;
 so that you can use it in CSS, too.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/dlemmermann/status/1700125468693868626" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Dirk Lemmermann&lt;/strong&gt; is inviting all JavaFX developers to make their work visible on JFX Central&lt;/a&gt;
: &amp;ldquo;In the end, you will have a nice personal profile page like this. A page showing your libs, your tools, your books, your videos, your blog, your showcase apps, etc&amp;hellip;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;More &lt;a href="https://github.com/dlsc-software-consulting-gmbh/jfxcentral-data/commits/live" target="_blank" rel="noopener noreferrer"&gt;content was added&lt;/a&gt;
 and &lt;a href="https://github.com/dlsc-software-consulting-gmbh/jfxcentral2/commits/master" target="_blank" rel="noopener noreferrer"&gt;bugs fixed and improvements integrated&lt;/a&gt;
, go &lt;a href="https://www.jfx-central.com/" target="_blank" rel="noopener noreferrer"&gt;check it out on jfx-central.com&lt;/a&gt;
&amp;hellip;&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>New FXComponents Library Released</title><link>https://foojayio.github.io/website/today/new-fxcomponents-library-released/</link><pubDate>Fri, 22 Sep 2023 10:15:43 +0000</pubDate><guid>https://foojayio.github.io/website/today/new-fxcomponents-library-released/</guid><description>&lt;p&gt;&lt;strong&gt;A new library for Java / JavaFX has just been released. The library&amp;rsquo;s name is FXComponents and it is a Java library that contains a collection of new controls to be used in JavaFX applications.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;As of the time of writing, FXComponents is being built using Java 17 and JavaFX 20.&lt;/p&gt;
&lt;p&gt;Below is a brief description of the controls currently present in this library (more coming soon). If you want to know more, head on over to the &lt;a href="https://pixelduke.com/2023/09/04/fxcomponents-library-released/" target="_blank" rel="noopener noreferrer"&gt;documentation page&lt;/a&gt;
 for more detailed information about this library and how to start using it.&lt;/p&gt;</description></item><item><title>New User Interface for JFX Central, the Home for JavaFX – Part 2</title><link>https://foojayio.github.io/website/today/new-user-interface-for-jfx-central-the-home-for-all-javafx-information-part-2/</link><pubDate>Mon, 18 Sep 2023 05:42:34 +0000</pubDate><guid>https://foojayio.github.io/website/today/new-user-interface-for-jfx-central-the-home-for-all-javafx-information-part-2/</guid><description>&lt;p&gt;In &lt;a href="https://foojayio.github.io/website/today/new-user-interface-for-jfx-central-the-home-for-all-javafx-information-part-1/"&gt;part 1 of this series&lt;/a&gt;
, we looked into the new design of &lt;a href="https://www.jfx-central.com/" target="_blank" rel="noopener noreferrer"&gt;JFX Central&lt;/a&gt;
, the place to be for all JavaFX info.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;JFX Central is a not-for-profit team effort. Many people are involved, and any issue or pull request provided by anyone from the JavaFX community helps to improve and extend the website, application, and data. I reached out to some people involved to learn about their history in Java and JavaFX development and how they are engaged in JFX Central.&lt;/strong&gt;&lt;/p&gt;</description></item><item><title>New User Interface for JFX Central, Home for JavaFX - Part 1</title><link>https://foojayio.github.io/website/today/new-user-interface-for-jfx-central-the-home-for-all-javafx-information-part-1/</link><pubDate>Mon, 18 Sep 2023 05:37:45 +0000</pubDate><guid>https://foojayio.github.io/website/today/new-user-interface-for-jfx-central-the-home-for-all-javafx-information-part-1/</guid><description>&lt;p&gt;&lt;strong&gt;Just like &lt;a href="https://foojayio.github.io/website/"&gt;Foojay&lt;/a&gt;
 is the starting place for all info related to Java, &lt;a href="https://www.jfx-central.com/" target="_blank" rel="noopener noreferrer"&gt;JFX Central&lt;/a&gt;
 is the place to be for all JavaFX info. The website is a project started by Dirk Lemmermann and has been online since 2021. The &lt;a href="https://www.jfx-central.com/team" target="_blank" rel="noopener noreferrer"&gt;team has expanded&lt;/a&gt;
 since then, and the content has been extended, partially by the team, but also thanks to many contributors from the JavaFX community. End of August, a new user interface was published to replace the initial version.&lt;/strong&gt;&lt;/p&gt;</description></item><item><title>The DiscoAPI Helps You To Find Any OpenJDK Distribution</title><link>https://foojayio.github.io/website/today/disco-api-helping-you-to-find-any-openjdk-distribution/</link><pubDate>Tue, 12 Sep 2023 03:42:44 +0000</pubDate><guid>https://foojayio.github.io/website/today/disco-api-helping-you-to-find-any-openjdk-distribution/</guid><description>&lt;p&gt;&lt;strong&gt;Did you know Foojay is not only a human-readable OpenJDK knowledge base but also provides the Disco API that lets you search all OpenJDK distributions? And even if you didn&amp;rsquo;t know, you probably already are using it, as it&amp;rsquo;s integrated into &lt;a href="https://sdkman.io/" target="_blank" rel="noopener noreferrer"&gt;SDKMAN!&lt;/a&gt;
, &lt;a href="https://jreleaser.org/" target="_blank" rel="noopener noreferrer"&gt;JReleaser&lt;/a&gt;
, &lt;a href="https://www.jbang.dev/" target="_blank" rel="noopener noreferrer"&gt;JBang!&lt;/a&gt;
, &lt;a href="https://docs.gradle.org/current/userguide/toolchains.html" target="_blank" rel="noopener noreferrer"&gt;Gradle toolchain&lt;/a&gt;
, &lt;a href="https://paketo.io/docs/howto/java/" target="_blank" rel="noopener noreferrer"&gt;Paketo buildpacks&lt;/a&gt;
,and more.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The Disco API (i.e., the short name for the Universal OpenJDK Discovery API) is a database and API with all the available OpenJDK versions from all distributors, like Corretto, Liberica, Oracle, Temurin, Zulu, and many others. In total, there are now 89352 different packages at the end of August 2023.&lt;/p&gt;</description></item><item><title>New JavaFX theme library "Transit" released</title><link>https://foojayio.github.io/website/today/new-javafx-theme-library-transit-released/</link><pubDate>Tue, 12 Sep 2023 02:56:13 +0000</pubDate><guid>https://foojayio.github.io/website/today/new-javafx-theme-library-transit-released/</guid><description>&lt;p&gt;&lt;strong&gt;A new Java (JavaFX) theme has been released. This is a new theme called &amp;ldquo;Transit&amp;rdquo; and it builds upon the lessons learned while developing JMetro. The code is hosted on &lt;a href="https://github.com/dukke/Transit" target="_blank" rel="noopener noreferrer"&gt;Github&lt;/a&gt;
.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;It is not meant to be JMetro 2, it will be an entirely new theme.&lt;/p&gt;
&lt;h2 id="h2-0-strengths-and-key-principles"&gt;Strengths and Key Principles&lt;/h2&gt;
&lt;p&gt;This theme follows some of the design principles and has some of the key strengths of JMetro:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Modern look and feel;&lt;/li&gt;
&lt;li&gt;Zero tight coupling with this library:
&lt;ul&gt;
&lt;li&gt;No new controls. &amp;ldquo;Pluggable&amp;rdquo; theme. Functionality is added &amp;ldquo;behind the curtains&amp;rdquo; to existing JavaFX controls through the Skin API (FXSkins library);&lt;/li&gt;
&lt;li&gt;Setting and unsetting is seamless and easy (only 1 line of code) even on already existing apps that don&amp;rsquo;t use this theme;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Looks integrated on Windows (80%/90% of desktop users use Windows) also works well on other OSes;&lt;/li&gt;
&lt;li&gt;Light and Dark versions;&lt;/li&gt;
&lt;li&gt;Easily override and customize colors by overriding JavaFX CSS variables;&lt;/li&gt;
&lt;li&gt;Only relies on JavaFX CSS, JavaFX API and Java code (no other &amp;ldquo;foreign technologies&amp;rdquo;);&lt;/li&gt;
&lt;li&gt;Samples and theme tester app on &lt;a href="https://github.com/dukke/Transit/tree/main/transit-samples" target="_blank" rel="noopener noreferrer"&gt;samples sub-project&lt;/a&gt;
;&lt;/li&gt;
&lt;li&gt;Lots of real world, recognized Java apps already using it (NASA&amp;rsquo;s applications, applications used in the White House, etc, etc) (JMetro and Transit) &amp;ndash; check the documentation page for more real world examples;&lt;/li&gt;
&lt;li&gt;Leverages lessons learned developing JMetro theme;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I like to use the term Michael Paus (&lt;a href="https://twitter.com/MichaelPaus" target="_blank" rel="noopener noreferrer"&gt;@MichaelPaus&lt;/a&gt;
) coined when he was referring to JMetro: this is a &amp;ldquo;pluggable&amp;rdquo; JavaFX theme (like JMetro).&lt;/p&gt;</description></item><item><title>JavaFX Links of August 2023</title><link>https://foojayio.github.io/website/today/javafx-links-of-august-2023/</link><pubDate>Thu, 31 Aug 2023 15:42:48 +0000</pubDate><guid>https://foojayio.github.io/website/today/javafx-links-of-august-2023/</guid><description>&lt;p&gt;I&amp;rsquo;ve taken a holiday this month, so probably missed a lot of the amazing JavaFX news, but still some things caught my attention and you can find them in this LinksOfTheMonth overview.&lt;/p&gt;
&lt;p&gt;But the most essential and thrilling news is the release of the new version of &lt;a href="https://www.jfx-central.com/" target="_blank" rel="noopener noreferrer"&gt;jfx-central.com&lt;/a&gt;
! A complete new home for &amp;ldquo;all things JavaFX&amp;rdquo; thanks to the amazing work of a whole &lt;a href="https://www.jfx-central.com/team" target="_blank" rel="noopener noreferrer"&gt;team of JavaFX enthousiast&lt;/a&gt;
. Indeed, yes, it&amp;rsquo;s a website but actually a JavaFX application, so you can also run it as a desktop app. And what&amp;rsquo;s even more important&amp;hellip; the &lt;a href="https://github.com/dlemmermann/jfxcentral2" target="_blank" rel="noopener noreferrer"&gt;full sources are available on GitHub&lt;/a&gt;
.&lt;/p&gt;</description></item><item><title>Building High-Performance Java Microservices with EDA</title><link>https://foojayio.github.io/website/today/6-considerations-when-building-high-performance-java-microservices-with-eda/</link><pubDate>Wed, 16 Aug 2023 21:34:18 +0000</pubDate><guid>https://foojayio.github.io/website/today/6-considerations-when-building-high-performance-java-microservices-with-eda/</guid><description>&lt;p&gt;&lt;strong&gt;Event-Driven Architecture (EDA) is a design principle focused on the creation, detection, and reaction to events.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Renowned for its resilience and low latency, EDA is a reliable choice for developing robust, high-performing microservices.&lt;/p&gt;
&lt;p&gt;Moreover, this method can be helpful in improving productivity and making the process of cloud migration smoother.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://foojayio.github.io/website/today/6-considerations-when-building-high-performance-java-microservices-with-eda/Screenshot-2023-08-10-at-5.13.36-PM-1024x607.png" alt="" loading="lazy"&gt;
&lt;/p&gt;
&lt;p&gt;In this article we will outline 6 key considerations and tactics for developing such services.&lt;/p&gt;
&lt;h3 id="h3-0-1-crafting-event-based-microservices"&gt;1) Crafting Event-Based Microservices&lt;/h3&gt;
&lt;p&gt;Within EDA, microservices interact with each other through events. An event is simply an immutable indication that something has happened. Microservices register their interest in a subset of events and perform their processing by reacting to these events when they occur. On completion of handling of an event, microservices will usually post one or more events reflecting the result of this processing, which will trigger further downstream microservices.&lt;/p&gt;</description></item><item><title>Pi4J Operating System for Java development on Raspberry Pi</title><link>https://foojayio.github.io/website/today/pi4j-operating-system-for-java-development-on-raspberry-pi/</link><pubDate>Fri, 11 Aug 2023 10:19:50 +0000</pubDate><guid>https://foojayio.github.io/website/today/pi4j-operating-system-for-java-development-on-raspberry-pi/</guid><description>&lt;p&gt;&lt;strong&gt;Yes, the Raspberry Pi Operating System is awesome! But the Pi4J project made it even more awesome by adding &amp;ldquo;goodies&amp;rdquo; for Java developers! Pi4J OS is not yet another OS, but the official Raspberry Pi OS, with additional tools and preconfigurations to make it the ideal OS for any Java and JavaFX developer who wants to use a Raspberry Pi.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The project is shared on &lt;a href="https://github.com/Pi4J/pi4j-os" target="_blank" rel="noopener noreferrer"&gt;GitHub&lt;/a&gt;
 and documented on &lt;a href="https://pi4j.com/pi4j-os/" target="_blank" rel="noopener noreferrer"&gt;the Pi4J website&lt;/a&gt;
. The zip-compressed archives of released versions can be downloaded from &lt;a href="https://pi4j-download.com" target="_blank" rel="noopener noreferrer"&gt;pi4j-download.com&lt;/a&gt;
.&lt;/p&gt;</description></item><item><title>JavaFX Links of July 2023</title><link>https://foojayio.github.io/website/today/javafx-links-of-july-2023/</link><pubDate>Fri, 28 Jul 2023 07:50:36 +0000</pubDate><guid>https://foojayio.github.io/website/today/javafx-links-of-july-2023/</guid><description>&lt;p&gt;Although I skipped a few weeks because of busy schedules, holiday interruptions, and too few hours in a day, there was still a lot to report in the two #LinksOfTheWeek that were published on &lt;a href="https://www.jfx-central.com/" target="_blank" rel="noopener noreferrer"&gt;jfx-central.com&lt;/a&gt;
 in July.&lt;/p&gt;
&lt;p&gt;Have fun reading and clicking, and see you end of August for one long #LinksOfTheMonth&amp;hellip;&lt;/p&gt;
&lt;h2 id="h2-0-core"&gt;Core&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Early-Access Builds of JavaFX 21 are available from
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://jdk.java.net/javafx21/" target="_blank" rel="noopener noreferrer"&gt;jdk.java.net&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://gluonhq.com/products/javafx/" target="_blank" rel="noopener noreferrer"&gt;gluonhq.com&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;em&gt;JavaFX 21-ea is designed to work with JDK 21-ea, but it is known to work with JDK 17 and later versions&lt;/em&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;And JavaFX 22 Early-Access Builds, Build 1 is &lt;a href="https://jdk.java.net/javafx22/" target="_blank" rel="noopener noreferrer"&gt;also available&lt;/a&gt;
!&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-1-applications"&gt;Applications&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.esri.com/arcgis-blog/products/sdk-java/developers/how-to-use-the-arcgis-maps-sdk-for-java-in-a-raspberry-pi-for-recording-gps-tracks/" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Mark Baird&lt;/strong&gt; wrote a post to describe how the beta release of the ArcGIS Maps SDK for Java (with ARM Linux support) can be used for IoT data recording apps&lt;/a&gt;
. He uses a GPS Unit, Raspberry Pi, Pi4J, and JavaFX.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/yosbits/status/1676159349377617922" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;yos&lt;/strong&gt; shared a video demonstrating a text editor engine implemented in #JavaFX (without WebView)&lt;/a&gt;
: &amp;ldquo;I&amp;rsquo;m testing loading and scrolling performance on a huge 5.4MB of source code. Scrolling is possible at 100FPS or more in the Apple M1 environment. This is one of Snowflower Controls.&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/Heshantk/status/1675453753863049216" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Heshan Thenura Kariyawasam&lt;/strong&gt; shared the sources of Serial Port Monitor&lt;/a&gt;
: &amp;ldquo;Monitoring data from a serial port with ease! This JavaFX app provides a user-friendly interface to set port and baud rate.&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/martinpaljak/status/1677216011391565824" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Martin Paljak&lt;/strong&gt; is using NFC tags on PC&lt;/a&gt;
: &amp;ldquo;It should be as seamless as with mobile phones - tap&amp;amp;go. My small #unix-style #Java utility got a Friday 07.07 release, together with #javafx desktop tray. QR codes, tag emulation etc. If you use NFC tags, give it a look/try.&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/orango_mango/status/1683512470466437121" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;OrangoMango&lt;/strong&gt; is working on a logic simulator&lt;/a&gt;
 with simple AND and NOT gates.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/tobiasbriones_/status/1680117927662501888" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Tobias Briones&lt;/strong&gt; is working on an example application and blog&lt;/a&gt;
: &amp;ldquo;Building Slides from Screenshots App in JavaFX&amp;rdquo;.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/SeanMiPhillips/status/1679498134974595072" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Sean Phillips&lt;/strong&gt; whipped up a Trinity easter egg for our DALLE demos&lt;/a&gt;
. Each time services request a DALLE image, it is copied to network share. Walle Dalle scans that shared directory. Each time a new image file is copied it is animated into a spot in the 3D ring.
&lt;ul&gt;
&lt;li&gt;And on Mastodon he shared more &lt;a href="https://foojay.social/@Birdasaur@jvm.social" target="_blank" rel="noopener noreferrer"&gt;Trinity screenshots&lt;/a&gt;
.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://mastodon.social/@maehem/110743557437273863" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Mark J Koch&lt;/strong&gt; is writing an application for EagleCAD schematics&lt;/a&gt;
: &amp;ldquo;Still lots of work to do (like view and print PC board files) but this is a wonderful milestone in my development of this app. Hope to open source it in about a month or two.&amp;rdquo;
&lt;ul&gt;
&lt;li&gt;His first experiments &lt;a href="https://mastodon.social/@maehem/110708951041214410" target="_blank" rel="noopener noreferrer"&gt;looked more like &amp;ldquo;generative art&amp;rdquo;&lt;/a&gt;
.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-2-games"&gt;Games&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://twitter.com/WhiteWoodCity/status/1676959035596341248" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;WhiteWoodCity&lt;/strong&gt; made the FXGL version of zombie vs plants open source&lt;/a&gt;
 and shared the source code.
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://twitter.com/AlmasBaim/status/1677002981483347995" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Almas Baim&lt;/strong&gt;: &amp;ldquo;Had a quick look, it&amp;rsquo;s awesome!&amp;rdquo;&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/WebFXProject/status/1676576239258042368" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;WebFX&lt;/strong&gt; made FoodDice, created by &lt;strong&gt;OrangoMango&lt;/strong&gt; available online&lt;/a&gt;
. You can play it on &lt;a href="https://fooddice.webfx.dev/" target="_blank" rel="noopener noreferrer"&gt;fooddice.webfx.dev&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/AlmasBaim/status/1679096264988696576" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Almas Baim&lt;/strong&gt; sees that FXGL is getting some interest on GitHub recently&lt;/a&gt;
.The next release (21) will match Java / JavaFX 21. What would you like to see supported?&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/orango_mango/status/1678428149233639424" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;OrangoMango&lt;/strong&gt; coded a game in 48h for the GMTK game jam&lt;/a&gt;
. If you get to the boss, let him know (It could be difficult).&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-3-components-libraries-tools"&gt;Components, Libraries, Tools&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://twitter.com/carldea/status/1675689706313379843" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Carl Dea&lt;/strong&gt; is prototyping a new JavaFX-based Dockable windowing library&lt;/a&gt;
: &amp;ldquo;I&amp;rsquo;m getting the mechanics down (more on L&amp;amp;F / skins later).&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/hansolo_/status/1674799050225483779" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Gerrit Grunwald&lt;/strong&gt; extended his Charts library with a &amp;ldquo;WaferMap&amp;rdquo;&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://techhub.social/@gluonhq/110786277544214779" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Gluon&lt;/strong&gt; is launching GluonFX&lt;/a&gt;
: &amp;ldquo;A growing set of JavaFX tools/components that we maintain on github, targeting all platforms. GPL license, free for developers. If you use them in a commercial product, we have licenses for that as well&amp;rdquo;. See &lt;a href="https://gluonhq.com/introducing-gluonfx/" target="_blank" rel="noopener noreferrer"&gt;gluonhq.com/introducing-gluonfx&lt;/a&gt;
.
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://twitter.com/johanvos/status/1684563837188739072" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Johan Vos&lt;/strong&gt; adds&lt;/a&gt;
: &amp;ldquo;Streamlining our software, adding consistency in approach, on github (e.g. badges, javadoc, maven approach), and licensing. Gradually, more of our software will be in this umbrella, and it will work on all platforms &amp;ndash; including mobile.&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-4-podcast-video-books"&gt;Podcast, Video, Books&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://blog.jetbrains.com/idea/2023/07/java-annotated-monthly-july-2023/" target="_blank" rel="noopener noreferrer"&gt;Jetbrains Java Annotated Monthly &amp;ndash; July 2023&lt;/a&gt;
 lists the &lt;a href="https://foojayio.github.io/website/today/foojay-podcast-25/"&gt;&amp;ldquo;Foojay Podcast #25: Game Development with Java, JavaFX, and FXGL&amp;rdquo;&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://foojay.social/@frankdelporte/110790391834861143" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Frank Delporte&lt;/strong&gt; discovered that an image he created for his book &amp;ldquo;Getting Started with Java on the Raspberry Pi&amp;rdquo; with a JavaFX application&lt;/a&gt;
 is used in the 2nd edition of &amp;ldquo;The Definitive Guide to Modern Java Clients with JavaFX 17&amp;rdquo; by &lt;strong&gt;Stephen Chin&lt;/strong&gt; , &lt;strong&gt;Johan Vos&lt;/strong&gt; , &lt;strong&gt;Jeames Weaver&lt;/strong&gt;, and many others.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-5-tutorials"&gt;Tutorials&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=T4ftPFmis0E" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Mukul Saini&lt;/strong&gt; shared a video&lt;/a&gt;
: &amp;ldquo;Property Binding in Javafx, How to bind one javafx property with another javafx property&amp;rdquo;.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/princyvictor_16" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Princy Victor&lt;/strong&gt;&lt;/a&gt;
 wrote a tutorial about the use of &lt;a href="https://www.educba.com/javafx-timer/" target="_blank" rel="noopener noreferrer"&gt;&amp;ldquo;JavaFX Timer&amp;rdquo;&lt;/a&gt;
.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-6-miscellaneous"&gt;Miscellaneous&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://twitter.com/jetbrains/status/1674008633770737664" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;JetBrains&lt;/strong&gt; is advising how to build self-contained standalone applications&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/GeertjanW/status/1674902079515631617" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Geertjan Wielenga&lt;/strong&gt; started a &amp;ldquo;Twitter battle&amp;rdquo; about desktop versus web&lt;/a&gt;
: &amp;ldquo;Desktop applications are dead, history, a thing of the past, except maybe for some niche use cases. Yet&amp;hellip; every time I open a browser, I&amp;rsquo;m in fact starting up&amp;hellip; a desktop application.&amp;rdquo;&lt;/li&gt;
&lt;li&gt;If you are looking for a #JavaFX community away from Reddit, please visit: &lt;a href="https://programming.dev/c/javafx" target="_blank" rel="noopener noreferrer"&gt;programming.dev/c/javafx&lt;/a&gt;
, started by &lt;a href="https://programming.dev/u/HamsterRage" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;HamsterRage&lt;/strong&gt;&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/cpreisler/status/1683843706988683268" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Chad Preisler&lt;/strong&gt; shared&lt;/a&gt;
: &amp;ldquo;If you&amp;rsquo;re designing an API, take a look at JavaFX. It&amp;rsquo;s built in a way that makes it easy for developers to extend. It&amp;rsquo;s a really well designed API.&amp;rdquo;
&lt;ul&gt;
&lt;li&gt;And he has been &lt;a href="https://twitter.com/cpreisler/status/1683207830910693376" target="_blank" rel="noopener noreferrer"&gt;working on a #JavaFX custom SortedList to overcome some performance issues&lt;/a&gt;
 in couple applications. Links to the code are in the video description.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/dlemmermann/status/1679935053541851160" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Dirk Lemmermann&lt;/strong&gt; is wondering does everyone feel about another instance of the &amp;ldquo;JFX Days&amp;rdquo; this year&lt;/a&gt;
 &amp;hellip; in person &amp;hellip; in Zurich.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/C0DEDEAD/status/1677498043778605061" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;CodeDead&lt;/strong&gt; shared screenshots comparing Caspian vs AtlantaFX vs Modena&lt;/a&gt;
.
&lt;ul&gt;
&lt;li&gt;And &lt;a href="https://twitter.com/C0DEDEAD/status/1677397519066603528" target="_blank" rel="noopener noreferrer"&gt;managed to fully automate a GitHub Actions workflow for both testing and releasing JavaFX Applications&lt;/a&gt;
 (both portable and installers) using Gradle.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/foojayio/status/1681578734002864131" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Foojay&lt;/strong&gt; shared a list of its top 10 articles&lt;/a&gt;
: &amp;ldquo;JavaFX is well represented!&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-7-jfx-central"&gt;JFX-Central&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Version 2 will let you &lt;a href="https://twitter.com/dlemmermann/status/1676201042168410113" target="_blank" rel="noopener noreferrer"&gt;perform a name-based search for individual icons in 100+ icon packs&lt;/a&gt;
. &lt;strong&gt;Dirk Lemmermann&lt;/strong&gt; shares screenshots showing the search result for &amp;ldquo;arrow left&amp;rdquo;. This feature is brought to you by &lt;a href="https://twitter.com/LeeWyatt_7788" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Lee Wyatt&lt;/strong&gt;&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;Final bugs and testing are being handled before announcing V2!&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Billions of Messages Per Minute Over TCP/IP</title><link>https://foojayio.github.io/website/today/billions-of-messages-tcp-ip/</link><pubDate>Wed, 05 Jul 2023 21:05:08 +0000</pubDate><guid>https://foojayio.github.io/website/today/billions-of-messages-tcp-ip/</guid><description>&lt;h3 id="h3-0-key-takeaways"&gt;Key Takeaways&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Data consistency is critical when communicating between software components on different machines to ensure information remains in tact.&lt;/li&gt;
&lt;li&gt;Low-latency data exchange requires a different approach than common formats.&lt;/li&gt;
&lt;li&gt;Chronicle&amp;rsquo;s open-source Wire library provides a highly efficient means of marshalling and unmarshalling data for transmission to and from Chronicle Queue.&lt;/li&gt;
&lt;li&gt;Recent additions to the library extend its use with TCP/IP communications channels, offering extremely high throughput.&lt;/li&gt;
&lt;li&gt;Using Wire across TCP/IP opens up the possibility of Cloud Native deployment of Chronicle-based applications.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="h3-1-introduction"&gt;Introduction&lt;/h3&gt;
&lt;p&gt;One of the most important issues when building distributed applications is that of data representation. We must ensure that data sent by a component to a &amp;ldquo;remote&amp;rdquo; component (i.e. one that is part of a different process) is received correctly, with the same values. This may seem straightforward but remember that the communicating components may have been written in completely different languages.&lt;/p&gt;</description></item><item><title>JavaFX Links of June 2023</title><link>https://foojayio.github.io/website/today/javafx-links-of-june-2023/</link><pubDate>Fri, 30 Jun 2023 09:18:30 +0000</pubDate><guid>https://foojayio.github.io/website/today/javafx-links-of-june-2023/</guid><description>&lt;p&gt;Again a lot has been shared this month in the &lt;a href="https://www.jfx-central.com/home" target="_blank" rel="noopener noreferrer"&gt;jfx-central.com&lt;/a&gt;
 #LinksOfTheWeek! And that website itself is &amp;ldquo;under heavy construction&amp;rdquo; as version 2 is getting a completely new design and several improvements. Your help is wanted! See the last section of this summary&amp;hellip;&lt;/p&gt;
&lt;h2 id="h2-0-core"&gt;Core&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://twitter.com/OpenJDK/status/1669074682505572353" target="_blank" rel="noopener noreferrer"&gt;Rampdown Phase 1 (RDP1) for JavaFX 21 starts on July 13, 2023 at 16:00 UTC (09:00 Pacific time)&lt;/a&gt;
, about four weeks from now.&lt;/li&gt;
&lt;li&gt;JavaFX 21 Early-Access Builds Build 21 is available from &lt;a href="https://jdk.java.net/javafx21/" target="_blank" rel="noopener noreferrer"&gt;jdk.java.net/javafx21&lt;/a&gt;
, addressing &lt;a href="https://bugs.openjdk.org/browse/JDK-8301312?jql=project%20%3D%20JDK%20AND%20fixversion%20%3D%20jfx21%20and%20component%20%3D%20javafx%20and%20%22resolved%20in%20build%22%20%3D%20b21%20order%20by%20component%2C%20subcomponent" target="_blank" rel="noopener noreferrer"&gt;these issues&lt;/a&gt;
. JavaFX 21-ea is designed to work with JDK 21-ea, but it is known to work with JDK 17 and later versions.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://mastodon.social/@johanvos/110547534890057649" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Johan Vos&lt;/strong&gt; is planning to spend more time on Java on Mobile (OpenJDK Mobile)&lt;/a&gt;
 in the near future: &amp;ldquo;There is 0 support from big tech because they fall in 2 categories: 1/ they have no revenue on mobile, 2/ they have competing OS tech that drives devs/users to their revenue-driven cloud services. But since I&amp;rsquo;m not big tech, I can just do it.&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/GluonHQ/status/1671461934049243136" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Gluon&lt;/strong&gt; asks all JavaFX developers to give JavaFX 21-ea+21 a try&lt;/a&gt;
.
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://techhub.social/@gluonhq/110615181663234520" target="_blank" rel="noopener noreferrer"&gt;And is working on making their JavaFX software (libraries, tools, components) more consistent and developer-friendly&lt;/a&gt;
: &amp;ldquo;Over the past years, we learned a lot, and we&amp;rsquo;re putting that experience now in our code.&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/dlsc-software-consulting-gmbh/GMapsFX/issues/204" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Dirk Lemmermann&lt;/strong&gt; is looking for help with a Webkit issue in JavaFX 18.0.1&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/Abdelrahman_B1" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Abdelrahman Bayoumi&lt;/strong&gt;&lt;/a&gt;
 explores a solution to resolve the challenges when it comes to &lt;a href="https://dev.to/abdelrahmanbayoumi/arabic-text-rendering-issues-in-javafx-3j9i" target="_blank" rel="noopener noreferrer"&gt;rendering Arabic, being a right-to-left script&lt;/a&gt;
.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-1-applications"&gt;Applications&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://twitter.com/SeanMiPhillips/status/1662197944718876672" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Sean Phillips&lt;/strong&gt; is almost ready to make the sources of Trinity available&lt;/a&gt;
&amp;hellip;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://twitter.com/SeanMiPhillips/status/1666617132338102273" target="_blank" rel="noopener noreferrer"&gt;He is using Trinity to distinguish between human and chatGPT altered text&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;After &lt;a href="https://twitter.com/SeanMiPhillips/status/1669087717743788033" target="_blank" rel="noopener noreferrer"&gt;teasing us&lt;/a&gt;
 for a few weeks, it finally happened! &lt;a href="https://twitter.com/SeanMiPhillips/status/1669089367694901250" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Sean Phillips&lt;/strong&gt; announced&lt;/a&gt;
 that Trinity, an Explainable AI Analysis and Visualization tool written in Java and JavaFX, is now officially public and open source. His message: &amp;ldquo;Have fun you fine young cannibals.&amp;rdquo;&lt;/li&gt;
&lt;li&gt;Video demo of Trinity to &lt;a href="https://twitter.com/SeanMiPhillips/status/1668296662857424896" target="_blank" rel="noopener noreferrer"&gt;project and distinguish between human and chatGPT altered text blurbs&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;With many thanks to &lt;a href="https://twitter.com/JavaFX3D/status/1669523111484719105" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;JavaFX 3D&lt;/strong&gt; , &lt;strong&gt;Jasper Potts&lt;/strong&gt; , &lt;strong&gt;Alexander Kouznetsov&lt;/strong&gt; , &lt;strong&gt;Chien Yang&lt;/strong&gt; , &lt;strong&gt;Kevin Rushforth&lt;/strong&gt; , &lt;strong&gt;Richard Bair&lt;/strong&gt;, and many others&lt;/a&gt;
 for all their hard work on JavaFX and 3D and more!&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/SeanMiPhillips/status/1671682955855446016" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Sean Phillips&lt;/strong&gt; shared a screenshot&lt;/a&gt;
: projecting decision manifolds from Pilot Assist AI Models for dog fighting pilots.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/SeanMiPhillips/status/1671674205098704899" target="_blank" rel="noopener noreferrer"&gt;Rendering a rainbow highway&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://mastodon.social/@johanvos/110566790213698291" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Johan Vos&lt;/strong&gt; is still impressed by the Devnexs keynote given by Sean&lt;/a&gt;
: &amp;ldquo;This is a very cool demonstration about Trinity, an open-source tool developed/used at John Hopkins University. It shows how Java developers can create cool, amazing and extremely useful stuff with great visualization using JavaFX.&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/crschnick/status/1662109280323993600" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Christopher Schnick&lt;/strong&gt; improved the speed of Pdx-Unlimiter&lt;/a&gt;
 with cached dynamically generated images.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/johanvos/status/1666416554110513158" target="_blank" rel="noopener noreferrer"&gt;Deep Netts has a neural network visual weights analysis tool ready for the next release&lt;/a&gt;
. It helps to understand what&amp;rsquo;s going on inside layers, and debugging trained networks.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/MaleeshaH/status/1666865457599770625" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Maleesha Herath&lt;/strong&gt; introduces &amp;ldquo;tecmis&amp;rdquo;, an Information Management System&lt;/a&gt;
 that revolutionizes how educational institutions handle data.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/tobiasbriones_/status/1666863274938204172" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Tobias Briones&lt;/strong&gt; finished the implementation for Code Snipped Slides&lt;/a&gt;
 with the exact color scheme of IntelliJ, except for specific language tokens. It&amp;rsquo;s all composed with JavaFX Nodes, like Shapes.&lt;/li&gt;
&lt;li&gt;New version of &lt;a href="https://twitter.com/mapton_app/status/1667529564120023042" target="_blank" rel="noopener noreferrer"&gt;Mapton with bug fixes and minor improvements along with new WMS sources&lt;/a&gt;
. Dependencies such as NetBeans 18 platform and the bundled Java &amp;amp; JavaFX from Azul are updated too.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/crschnick/status/1672101399486951425" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Christopher Schnick&lt;/strong&gt; gave the welcome page of v1.2 of XPipe some personality&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/dlemmermann/status/1670757586260377602" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Dirk Lemmermann&lt;/strong&gt; really likes the latest version of the sample app for AtlantaFX&lt;/a&gt;
: &amp;ldquo;Very nicely polished theme and controls. Packaged with Conveyor from HydraulicDev.&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/makingthematrix/status/1669374799246774278" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Maciek Gorywoda&lt;/strong&gt; shared v1.0.0 FxCalculator&lt;/a&gt;
: &amp;ldquo;It&amp;rsquo;s, well, a calculator for your Android phone.&amp;rdquo; Read the whole thread to learn more, e.g. that it&amp;rsquo;s written in Scala 3.3, JavaFX, Gluon, and built with GraalVM Native Image.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/jam_machund/status/1671102745309265920" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Jamie Macaulay&lt;/strong&gt; is working on SUDUnpacker&lt;/a&gt;
 to handle SoundTraps sud files.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-2-games"&gt;Games&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://foojay.social/@johanvos@mastodon.social/110461937691524803" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Johan Vos&lt;/strong&gt; stumbled into this addictive web game, written in JavaFX by &lt;strong&gt;Gerrit Grunwald&lt;/strong&gt; using WebFX: tetris.webfx.dev&lt;/a&gt;
: &amp;ldquo;It&amp;rsquo;s great to see how developers are using JavaFX to make cool stuff.&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/orango_mango/status/1662758757506469889" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;OrangoMango&lt;/strong&gt; made Snake v1.0 available on itch&lt;/a&gt;
. Thanks to WebFX, there is now a web version that is playable in the browser (fullscreen is recommended).
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://twitter.com/orango_mango/status/1666727933258485760" target="_blank" rel="noopener noreferrer"&gt;He extended his chess game&lt;/a&gt;
 with drag and drop, and improved the image resolution.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/orango_mango/status/1671252291658055680" target="_blank" rel="noopener noreferrer"&gt;He also shared a video showing collision detection with convex shapes&lt;/a&gt;
. It resulted in a nice chat with &lt;a href="https://twitter.com/SeanMiPhillips/status/1671662634930696195" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Sean Phillips&lt;/strong&gt;&lt;/a&gt;
 and &lt;a href="https://twitter.com/carldea/status/1672041067909193734" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Carl Dea&lt;/strong&gt;&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/orango_mango/status/1673693403664764938" target="_blank" rel="noopener noreferrer"&gt;He added a teleport stone, a propeller, and rotating platforms to FoodDice&lt;/a&gt;
. New levels with those new items are coming in the next update. Also implemented the new collision system that he wrote before for these new rotating items.&lt;/li&gt;
&lt;li&gt;And he has been &lt;a href="https://twitter.com/orango_mango/status/1672648493372981249" target="_blank" rel="noopener noreferrer"&gt;experimenting with a physics engine made from scratch&lt;/a&gt;
. Right now, there are just some basic physics laws and chains.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Another &lt;a href="https://twitter.com/WebFXProject/status/1668227539154747396" target="_blank" rel="noopener noreferrer"&gt;JavaFX game has been ported to the Web with &lt;strong&gt;WebFX&lt;/strong&gt; Food Dice!&lt;/a&gt;
. It&amp;rsquo;s a plain JavaFX game written for the GMTK Game jam 2022 and was coded in 48h from scratch with no 3rd party lib. Congrats to the 16-year-old author &lt;strong&gt;OrangoMango**&lt;/strong&gt; . Play online on &lt;a href="https://fooddice.webfx.dev" target="_blank" rel="noopener noreferrer"&gt;fooddice.webfx.dev&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/AlmasBaim/status/1671169432524316674" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Almas Baim&lt;/strong&gt; shows image mesh warping&lt;/a&gt;
: &amp;ldquo;No specific use case, but I&amp;rsquo;m sure this will come in handy for some cool effects in the future.&amp;rdquo;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://twitter.com/AlmasBaim/status/1664730029887037441" target="_blank" rel="noopener noreferrer"&gt;He is trying to hypnotize us&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/AlmasBaim/status/1673700044556386304" target="_blank" rel="noopener noreferrer"&gt;And he is drawing circles with triangles and FXGL&lt;/a&gt;
.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-3-components-libraries-tools"&gt;Components, Libraries, Tools&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Last week we shared the TreeMap chart by &lt;strong&gt;Matt Coley&lt;/strong&gt; here. In a new video, you can see a &lt;a href="https://twitter.com/invokecoley/status/1663073175431675904" target="_blank" rel="noopener noreferrer"&gt;practical demo of TreeMapFX in Recaf&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://mastodon.social/@svenruppert/110436643725621744" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Sven Ruppert&lt;/strong&gt; shared that work has started on TestFX 4&lt;/a&gt;
, after longer silence. You can find the project on &lt;a href="https://testfx.github.io/TestFX/" target="_blank" rel="noopener noreferrer"&gt;testfx.github.io/TestFX&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/dlemmermann/status/1669473442163294210" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Dirk Lemmermann&lt;/strong&gt; sees there truly is a big need for custom window decorations and found an extra one&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/JaroslavTulach/status/1449827890300915718" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Jaroslav Tulach&lt;/strong&gt; is discussing JavaFX Lite&lt;/a&gt;
 and is asking for feedback: &amp;ldquo;Would you find #javafxlight - e.g. coding in #javafx &amp;amp; rendering via #HTML5 useful?&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-4-podcast-videos"&gt;Podcast, Videos&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.linkedin.com/feed/update/urn:li:activity:7071865436115468288/" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Gerrit Grunwald&lt;/strong&gt; and &lt;strong&gt;Ixchel Ruiz&lt;/strong&gt; talking at JNation&lt;/a&gt;
 about Graphical User Interfaces with Java.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://foojayio.github.io/website/today/foojay-podcast-25/"&gt;Foojay Podcast #25: Game Development with Java, JavaFX, and FXGL&lt;/a&gt;
. &lt;strong&gt;Gerrit Grunwald&lt;/strong&gt; (aka _hansolo), &lt;strong&gt;Almas Baim&lt;/strong&gt; (aka the FXGL creator), and &lt;strong&gt;Chengen Zhao&lt;/strong&gt; (aka WhiteWoodCity) talk with &lt;strong&gt;Frank Delporte&lt;/strong&gt; about why Java should be on your game-development-language-list.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-5-tutorials"&gt;Tutorials&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Coding Examples&lt;/strong&gt; uploaded new videos to &amp;ldquo;JavaFX 3D Tutorials&amp;rdquo;. For example: &lt;a href="https://www.youtube.com/watch?v=9YSor8d3Hzk" target="_blank" rel="noopener noreferrer"&gt;&amp;ldquo;Animation | Fade Transition&amp;rdquo;, to create a Text and make it blink using the FadeTransition class&lt;/a&gt;
. using the shape&amp;rsquo;s transparency to achieve the required effect.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/safetyvalve/status/1664349425228038144" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Sten Nordström&lt;/strong&gt; got asked if there are any good JavaFX courses available?&lt;/a&gt;
: &amp;ldquo;Asker has experience with other platforms and some Java knowledge. Online, or possibly in person in Scandinavia/Northern Europe.&amp;rdquo; Who has more ideas? What should we add to &lt;a href="https://www.jfx-central.com/tutorials" target="_blank" rel="noopener noreferrer"&gt;jfx-central.com/tutorials&lt;/a&gt;
?
&lt;ul&gt;
&lt;li&gt;This is actually a nice one 🙂 ! &lt;a href="https://twitter.com/MithinDev/status/1665709087135506432" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;MITHIN DEV&lt;/strong&gt; shared &amp;ldquo;Building Your First JavaFX App!&amp;rdquo;&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Not new, but a nice reminder by &lt;a href="https://twitter.com/jjenkov/status/1666472122535886849" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Jakob Jenkov&lt;/strong&gt;: &amp;ldquo;I have a tutorial covering a lot of the basics of JavaFX&amp;rdquo;&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;In French: &lt;a href="https://twitter.com/jachampagne8/status/1674085894700113921" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Jason Champagne&lt;/strong&gt; has a series of videos, part 2&lt;/a&gt;
: &amp;ldquo;Point essentiel en JavaFX sur l&amp;rsquo;architecture des différents composants, en particulier le Scene Graph et la gestion des fenêtres (stages)&amp;rdquo;.&lt;/li&gt;
&lt;li&gt;Not new, but just discovered: &lt;a href="https://www.youtube.com/watch?v=guXTwZpGVRk&amp;amp;list=PLoodc-fmtJNbeL8P1DizFcgjp62UjvJ3t" target="_blank" rel="noopener noreferrer"&gt;Video series by &lt;strong&gt;Jaret Wright&lt;/strong&gt; to create a JavaFX Memory Game&lt;/a&gt;
.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-6-miscellaneous"&gt;Miscellaneous&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://twitter.com/TheDonRaab/status/1662199629407027203" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Donald Raab&lt;/strong&gt; is hoping to get back to experimenting with JavaFX again this summer&lt;/a&gt;
 and to submit conference talks&amp;hellip;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://mastodon.online/@sten/110470561467745227" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Sten Nordström&lt;/strong&gt; is looking for JavaFX tutorials&lt;/a&gt;
: &amp;ldquo;Asker has experience with other platforms and some Java knowledge. Online, or possibly in person in Scandinavia/Northern Europe.&amp;rdquo; Who can help him? First starting point should of course be: &lt;a href="https://www.jfx-central.com/tutorials" target="_blank" rel="noopener noreferrer"&gt;jfx-central.com/tutorials&lt;/a&gt;
 😉&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.reddit.com/r/JavaFX/comments/1483fio/need_help_building_javafx_project_in_vscode/" target="_blank" rel="noopener noreferrer"&gt;A help request on Reddit to build a JavaFX project in VsCode&lt;/a&gt;
.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-7-jfx-central"&gt;JFX-Central&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Service call to all the people who have &amp;ldquo;something&amp;rdquo; on JFX-Central (library, book, tutorial,&amp;hellip;). We are reviewing all info on the website in preparation of the new JFX-Central version. But we need your help, please contact us or make a pull request in &lt;a href="https://github.com/dlsc-software-consulting-gmbh/jfxcentral-data" target="_blank" rel="noopener noreferrer"&gt;jfxcentral-data&lt;/a&gt;
 to make sure all the info is still correct and up-to-date. Thanks!&lt;/li&gt;
&lt;li&gt;More previews of version 2 of jfx-central.com:
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://twitter.com/dlemmermann/status/1663916396814761987" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Dirk Lemmermann&lt;/strong&gt; is drooling with the layout&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;And &lt;a href="https://twitter.com/dlemmermann/status/1663916816794517504" target="_blank" rel="noopener noreferrer"&gt;more drooling&lt;/a&gt;
&amp;hellip;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/dlemmermann/status/1662388854366560256" target="_blank" rel="noopener noreferrer"&gt;Social login capabilities were added&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;And he is having almost too much fun 🙂 &lt;a href="https://twitter.com/dlemmermann/status/1664334599319592969" target="_blank" rel="noopener noreferrer"&gt;Added banners to the tips and tricks pages&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;Finding out what&amp;rsquo;s coming to the next JavaFX release &lt;a href="https://twitter.com/dlemmermann/status/1668690954876755974" target="_blank" rel="noopener noreferrer"&gt;will be super easy by visiting the new OpenJFX page on JFX-Central&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;Finding that one library you recently heard about &lt;a href="https://twitter.com/dlemmermann/status/1669472701059047424" target="_blank" rel="noopener noreferrer"&gt;will be easy via JFX-Central&amp;hellip; and who wrote it, and videos showing it, and the repo coordinates, and and and&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/dlemmermann/status/1672975213376552964" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Lee Wyatt&lt;/strong&gt;, one of the main contributors to the new JFX-Central version&lt;/a&gt;
 added a &amp;ldquo;Credits&amp;rdquo; page, one of the many pages he created and/or improved.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Dirk Lemmermann&lt;/strong&gt; wants your opinion about a new logo for jfx-central (and JavaFX itself?)
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://twitter.com/dlemmermann/status/1666478961675862022" target="_blank" rel="noopener noreferrer"&gt;First idea with a lot of remarks and adjusted proposals by others&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/dlemmermann/status/1666735588500811777" target="_blank" rel="noopener noreferrer"&gt;The next proposal&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;After many iterations, &lt;a href="https://twitter.com/dlemmermann/status/1669026529429397521" target="_blank" rel="noopener noreferrer"&gt;Dirk found the perfect new logo&lt;/a&gt;
: &amp;ldquo;Work on the logo for the JFX-Central website is finished. In the end large, small, color, black, white, etc&amp;hellip;. versions were needed to make it look code in all places.&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Testing the layout of the new version &lt;a href="https://twitter.com/dlemmermann/status/1666771832765132801" target="_blank" rel="noopener noreferrer"&gt;with &amp;ldquo;responsive design&amp;rdquo; mode is in Safari&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;And the new desktop version will &lt;a href="https://twitter.com/dlemmermann/status/1667169729784545280" target="_blank" rel="noopener noreferrer"&gt;come with its own custom stage when running on desktop&lt;/a&gt;
. Other improvements for the app version of the new JFX-Central:
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://twitter.com/dlemmermann/status/1670798362453368840" target="_blank" rel="noopener noreferrer"&gt;A couple of screens were added for a nice bootstrap sequence&lt;/a&gt;
. When running the app for the first time it will clone its data repo (takes a while). Any launch after that will perform an update on it (fast).&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/dlemmermann/status/1671506280026972164" target="_blank" rel="noopener noreferrer"&gt;It will also come with a tray icon for quick access to anything JavaFX&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/dlemmermann/status/1671538241952948228" target="_blank" rel="noopener noreferrer"&gt;It is now an even better citizen when running on Mac&lt;/a&gt;
. Can you spot the difference aka the &amp;ldquo;dots&amp;rdquo;?&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;We have been very busy working on the new JFX-Central version&amp;hellip; Maybe you want to help out? &lt;a href="https://github.com/dlemmermann/jfxcentral2" target="_blank" rel="noopener noreferrer"&gt;The repository is now public&lt;/a&gt;
! Feel free to make contributions. Testing, and reporting bugs. All are very welcome.&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Building Custom Solutions vs. Buy-and-Build Software</title><link>https://foojayio.github.io/website/today/building-custom-solutions-vs-buy-and-build-software/</link><pubDate>Wed, 21 Jun 2023 14:41:33 +0000</pubDate><guid>https://foojayio.github.io/website/today/building-custom-solutions-vs-buy-and-build-software/</guid><description>&lt;h3 id="h3-0-the-challenges-of-building-a-fix-engine"&gt;The Challenges of Building a FIX Engine&lt;/h3&gt;
&lt;p&gt;The first day I was introduced to &lt;a href="https://en.wikipedia.org/wiki/Financial_Information_eXchange" target="_blank" rel="noopener noreferrer"&gt;Financial Information eXchange (FIX)&lt;/a&gt;
 was when I worked at an investment bank in London as a developer.&lt;/p&gt;
&lt;p&gt;I was told to write a feed handler to retrieve market data.&lt;/p&gt;
&lt;p&gt;Bear in mind that at this time, I knew nothing about FIX, apart from Googling it for about 10 mins on the internet.&lt;/p&gt;
&lt;p&gt;With a touch of overconfidence and slight arrogance, I set to work coding a direct socket connection to the remote FIX endpoint, &amp;ldquo;how hard could it be?&amp;rdquo;&lt;/p&gt;</description></item><item><title>Foojay Podcast #25: Game Development with Java, JavaFX, FXGL</title><link>https://foojayio.github.io/website/today/foojay-podcast-25/</link><pubDate>Mon, 19 Jun 2023 08:56:11 +0000</pubDate><guid>https://foojayio.github.io/website/today/foojay-podcast-25/</guid><description>&lt;p&gt;Java and JavaFX are probably not the first options you consider if you want to create a game application.&lt;/p&gt;
&lt;p&gt;But the FXGL library allows you to do precisely that! Create games that run on all platforms with the same codebase as we are used to with Java.&lt;/p&gt;
&lt;p&gt;And even without an extra library, the JavaFX Components and Canvas provide many animation and gaming possibilities.&lt;/p&gt;
&lt;p&gt;Let&amp;rsquo;s learn from experts why Java should be on your game-development-language-list!&lt;/p&gt;</description></item><item><title>Java is Very Fast, If You Don’t Create Many Objects</title><link>https://foojayio.github.io/website/today/java-is-very-fast/</link><pubDate>Thu, 01 Jun 2023 04:45:56 +0000</pubDate><guid>https://foojayio.github.io/website/today/java-is-very-fast/</guid><description>&lt;p&gt;This article looks at a benchmark passing events over TCP/IP at 4 billion events per minute using the net.openhft.chronicle.wire.channel package in &lt;a href="https://chronicle.software/wire/?utm_source=article&amp;amp;amp;utm_medium=foojay&amp;amp;amp;utm_campaign=java-is-fast" title="Chronicle Wire" target="_blank" rel="noopener noreferrer"&gt;Chronicle Wire&lt;/a&gt;
 and why we aim to avoid object allocations.&lt;/p&gt;
&lt;p&gt;One of the key optimisations is creating almost no garbage. Allocation is supposed to be a very cheap operation and garbage collection of very short lived objects is also very cheap.&lt;/p&gt;
&lt;p&gt;Does not allocating really make such a difference? What difference does one small object per event (44 bytes) make to the performance in a throughput test where GC pauses are amortised?&lt;/p&gt;</description></item><item><title>JavaFX Links of May 2023</title><link>https://foojayio.github.io/website/today/javafx-links-of-may-2023/</link><pubDate>Wed, 31 May 2023 06:48:43 +0000</pubDate><guid>https://foojayio.github.io/website/today/javafx-links-of-may-2023/</guid><description>&lt;p&gt;Again a busy month in JavaFX-world! Here is a nice list with links for your reading and clicking pleasure!&lt;/p&gt;
&lt;p&gt;This is the summary of the #LinksOfTheWeek as published on &lt;a href="https://www.jfx-central.com/" target="_blank" rel="noopener noreferrer"&gt;jfx-central.com&lt;/a&gt;
 in May 2023.&lt;/p&gt;
&lt;h2 id="h2-0-javafx-core"&gt;JavaFX Core&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://techhub.social/@gluonhq/110374163797572361" target="_blank" rel="noopener noreferrer"&gt;JavaFX 21-ea+17 is available for download from GluonHQ or from Maven central&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://mastodon.social/@johanvos/110378814066039175" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Johan Vos&lt;/strong&gt; believes it&amp;rsquo;s time to deprecate Java Swing&lt;/a&gt;
: &amp;ldquo;It doesn&amp;rsquo;t make sense to maintain Swing and move JavaFX forward. Deprecation doesn&amp;rsquo;t mean it needs to be removed immediately. But let&amp;rsquo;s deprecate it. We need to move forward, and we need the resources for this.&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-1-scenebuilder"&gt;SceneBuilder&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://twitter.com/Raumzeitfalle/status/1657471102673715202" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Raumzeitfalle&lt;/strong&gt; is wondering if you want to conveniently install Scene Builder 20 for JavaFX&lt;/a&gt;
? You can now do this thanks to the use of JDeploy.
&lt;ul&gt;
&lt;li&gt;This new version now offers a &lt;a href="https://twitter.com/Raumzeitfalle/status/1656697093463982083" target="_blank" rel="noopener noreferrer"&gt;direct menu shortcut to jfx-central.com&lt;/a&gt;
!&lt;/li&gt;
&lt;li&gt;This release uses &lt;a href="https://techhub.social/@gluonhq/110337334600751096" target="_blank" rel="noopener noreferrer"&gt;JDK 20.0.1 and JavaFX 20.0.1&lt;/a&gt;
.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://mastodon.social/@johanvos/110371523942727201" target="_blank" rel="noopener noreferrer"&gt;Shared by &lt;strong&gt;Johan Vos&lt;/strong&gt;&lt;/a&gt;
: &amp;ldquo;Now that Scene Builder 20 is released, it is a good moment to work on functionality/bug fixes that can make it in 21. For most projects I work on, I prefer doing major changes shortly after a release, rather than shortly before a release.&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-2-javafx-applications"&gt;JavaFX Applications&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Shared by &lt;a href="https://twitter.com/marsxdev/status/1656911587163410432" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;MarsX.dev&lt;/strong&gt;: Lunatics&lt;/a&gt;
, a JavaFX-based email testing tool with a dummy SMTP server that lets you test email sending applications, monitor transactions, and simulate various network conditions.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/lanthale/status/1642981173826842624" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Clemens Lanthaler&lt;/strong&gt; announced LibrawFX 1.8.4&lt;/a&gt;
 with speed updates and raw settings added, using JDK 20 and JavaFX 20.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/Heimbuchner_J/status/1653019966453473280" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Homebookner&lt;/strong&gt; shared SANEScanFX, a scanner application&lt;/a&gt;
, not finished yet but already usable.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/P_Duke/status/1656677709106520064" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Pedro Duque Vieira&lt;/strong&gt; proudly shared that Modellus received the recommended award again this year from Mac Informer&lt;/a&gt;
 (3rd consecutive year)! It&amp;rsquo;s a freely available app used worldwide that enables students &amp;amp; teachers (high school and university) to use mathematics to create or explore models interactively.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/crschnick/status/1661349160547766272" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Christopher Schnick&lt;/strong&gt; is working on context menu actions for XPipe&lt;/a&gt;
. What else would you like to see added?
&lt;ul&gt;
&lt;li&gt;And he shared a &lt;a href="https://twitter.com/crschnick/status/1661340242052251650" target="_blank" rel="noopener noreferrer"&gt;video with more AtlantaFX themes plus smooth theme transitions&lt;/a&gt;
.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/Alessio_Vinerbi/status/1659864509320687619" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Alessio Vinerbi&lt;/strong&gt; seems to be working on MoonsonFX&lt;/a&gt;
, an alternative AfterEffects application. This makes me very curious as he already showed other impressive UI-work.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://mastodon.social/@juananpe/110383623013926873" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Juanan&lt;/strong&gt; seems to be working on a Mastodon client&lt;/a&gt;
, see also his other Toots on Mastodon.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://fosstodon.org/@binjr/110380055859735465" target="_blank" rel="noopener noreferrer"&gt;binjr (FOSS timeseries browser) 3.12 is available&lt;/a&gt;
, with a new indexing mode for log files that makes it easy to search for arbitrary strings of character without the need for wildcards while maintaining the same level of performance, even on very large files.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Sean Phillips&lt;/strong&gt; shared several images and videos of Trinity, an AI / ML analysis tool.
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://twitter.com/SeanMiPhillips/status/1653721465059942401" target="_blank" rel="noopener noreferrer"&gt;By colorizing Binary Classification feature space from a deep learning model using JavaFX 3D&lt;/a&gt;
 we see decision manifolds have subgroupings.&lt;/li&gt;
&lt;li&gt;And an extra one with &lt;a href="https://twitter.com/SeanMiPhillips/status/1653492689193644032" target="_blank" rel="noopener noreferrer"&gt;Trinity&amp;rsquo;s UMAP projection cluster data maintaining references back to their hyper-dimensional vectors and imagery&lt;/a&gt;
. This demonstrates anchoring 2D nodes to Shape3D nodes as the PerspectiveCamera is rotated.&lt;/li&gt;
&lt;li&gt;Too complex to understand? I agree, but his work is just amazing and really mind-blowing 😉&lt;/li&gt;
&lt;li&gt;If you want to know more about it, this is a link to an interview of December: &lt;a href="https://foojayio.github.io/website/today/visualizing-brain-computer-interface-data-using-javafx/"&gt;&amp;ldquo;Visualizing Brain Computer Interface Data Using JavaFX&amp;rdquo;&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;And in those tweets he announced Trinity will be available soon on Github!&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/SeanMiPhillips/status/1655678667257782272" target="_blank" rel="noopener noreferrer"&gt;UMAP projector to visualize COVID infected tissue samples, clustered by genetic sequence classification&lt;/a&gt;
. Clear distinction between brain and body tissue using the Yule metric.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/SeanMiPhillips/status/1656459698302861318" target="_blank" rel="noopener noreferrer"&gt;Process, cluster and render COVID tissue samples by genetic sequence code classification&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/SeanMiPhillips/status/1656462050804092928" target="_blank" rel="noopener noreferrer"&gt;Similar, using the Yule distance metric, with 2500 samples each with over 18k dimensions&lt;/a&gt;
!&lt;/li&gt;
&lt;li&gt;Don&amp;rsquo;t tell anyone, but Sean is actually a time traveler, who worked (will work?!) on the StarTrek user interfaces&amp;hellip;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-3-javafx-games"&gt;JavaFX Games&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://twitter.com/WebFXProject/status/1661336335427182593" target="_blank" rel="noopener noreferrer"&gt;Pac-Man and Ms. Pac-Man by &lt;strong&gt;Armin Reichert&lt;/strong&gt; ported to the web with WebFX&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/orango_mango/status/1659545495704928257" target="_blank" rel="noopener noreferrer"&gt;Rubik&amp;rsquo;s cube v3.0 by &lt;strong&gt;OrangoMango&lt;/strong&gt; is available on itch.io&lt;/a&gt;
 for Windows, Android, Linux and Mac.
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://twitter.com/orango_mango/status/1655259186576474112" target="_blank" rel="noopener noreferrer"&gt;He also shared his Chess game&lt;/a&gt;
: sources and executables for Windows, Linux, macOS and Android. Features: play agains stockfish or LAN multiplayer, export game as FEN and PGN, arrows, premoves, time control, and much more&amp;hellip;&lt;/li&gt;
&lt;li&gt;And a link to the &lt;a href="https://twitter.com/orango_mango/status/1652974233864085504" target="_blank" rel="noopener noreferrer"&gt;sources of his 3D engine and the Minecraft-clone&lt;/a&gt;
.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/AlmasBaim/status/1657718394064601089" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Almas Baim&lt;/strong&gt; shared a video of a game where the player can now use the shockwave ability&lt;/a&gt;
 once the meter is full. It allows the player to quickly clear out a safe path in front of them.
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://twitter.com/AlmasBaim/status/1658565437053980691" target="_blank" rel="noopener noreferrer"&gt;And he had a fruitful discussion with game dev students on how to improve the UI&lt;/a&gt;
. In the video, you can check out the new health and weapon indicators around the player, without the need to look elsewhere to get this info.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-4-javafx-components"&gt;JavaFX Components&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://twitter.com/invokecoley/status/1660951086876749825" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Matt Coley&lt;/strong&gt; made a minimal/flexible TreeMap chart&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/crschnick/status/1658174428612550671" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Christopher Schnick&lt;/strong&gt; is feeling magic with dynamic OS theme detection&lt;/a&gt;
! Done with jSystemThemeDetector.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/SeanMiPhillips/status/1658120303539519491" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Sean Phillips&lt;/strong&gt; got a lot of interest on the animated circular progress indicator&lt;/a&gt;
 he made for Trinity and uploaded a version of it along with a tester app so folks could play with it.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-5-javafx-on-foojay-io-the-website-for-friends-of-openjdk"&gt;JavaFX on Foojay.io, the website for Friends of OpenJDK&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://foojayio.github.io/website/today/presenting-xpipe/"&gt;&amp;ldquo;If the user has installed programs to connect to remote systems, why not try to use them from Java instead of via libraries?&amp;rdquo;&lt;/a&gt;
 And then, on top of that, a tool for people who work with remote shell connections? &lt;strong&gt;Christopher Schnick&lt;/strong&gt; presenting X-Pipe.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://foojayio.github.io/website/today/interview-with-paul-kocian-aka-orango_mango/"&gt;Interview by &lt;strong&gt;Frank Delporte&lt;/strong&gt; with &lt;strong&gt;Paul Kocian&lt;/strong&gt; aka @Orango_Mango&lt;/a&gt;
, who shared his progress on Twitter in creating a 3D engine with JavaFX, from a Rubik&amp;rsquo;s cube in January &amp;lsquo;23, over a basic tumbling car in February, to a full Minecraft-like world in April! His age? 16!&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-6-podcast"&gt;Podcast&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://airhacks.fm/#episode_242" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Adam Bien&lt;/strong&gt; and &lt;strong&gt;Shai Almog&lt;/strong&gt; discuss JavaFX, Codename One, Swing, Flutter, and a Bit Android&lt;/a&gt;
.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-7-miscellaneous"&gt;Miscellaneous&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://twitter.com/dlemmermann/status/1657027053202423808" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Dirk Lemmermann&lt;/strong&gt; is about to rent 190 square meters of office space in Zurich for our Swiss subsidiary of Senapt&lt;/a&gt;
. Exciting times, and JavaFX made that happen!&lt;/li&gt;
&lt;li&gt;Help! &lt;a href="https://twitter.com/AlmasBaim/status/1652066132872896512" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Almas Baim&lt;/strong&gt; is doing strange teleportation things with the Java Duke&lt;/a&gt;
&amp;hellip;&lt;/li&gt;
&lt;li&gt;It seems GraalVM is going to &lt;a href="https://twitter.com/shaunmsmith/status/1651621631322726413" target="_blank" rel="noopener noreferrer"&gt;announce some JavaFX related news with the next feature release, expected on June 13th&lt;/a&gt;
.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-8-jfx-central"&gt;JFX-Central&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;New content:
&lt;ul&gt;
&lt;li&gt;Real-world app: &lt;a href="https://www.jfx-central.com/real_world/satergo" target="_blank" rel="noopener noreferrer"&gt;Satergo&lt;/a&gt;
, a desktop wallet app for the &amp;ldquo;Ergo&amp;rdquo; cryptocurrency.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/dlemmermann/status/1655893575480090625" target="_blank" rel="noopener noreferrer"&gt;Sneak preview of the new website taking advantage of Safari&amp;rsquo;s unified toolbar&lt;/a&gt;
, aka &amp;ldquo;theme color&amp;rdquo; meta tag.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Dirk Lemmermann&lt;/strong&gt; shared a lot of previews of the upcoming new version of jfx-central.com.
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://twitter.com/dlemmermann/status/1658067095664443394" target="_blank" rel="noopener noreferrer"&gt;The &amp;ldquo;skeleton&amp;rdquo; for the detail pages&lt;/a&gt;
. It will be used to list information on people, books, libraries, tools, blogs, etc&amp;hellip; Every page will be responsive and auto-adjust to large (desktop), medium (tablet) and small devices (phone).&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/dlemmermann/status/1661055817041297409" target="_blank" rel="noopener noreferrer"&gt;The new showcases section&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/dlemmermann/status/1659203119136509955" target="_blank" rel="noopener noreferrer"&gt;Videos will no longer be shown in a separate overlay, but &amp;ldquo;inline&amp;rdquo;&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/dlemmermann/status/1661325621471969281" target="_blank" rel="noopener noreferrer"&gt;Ikonli will also have a nice new home&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/dlemmermann/status/1661718165577953280" target="_blank" rel="noopener noreferrer"&gt;The shiny new home for the &amp;ldquo;links of the week&amp;rdquo; section&lt;/a&gt;
. Also coming soon&amp;hellip; the RSS button.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/dlemmermann/status/1661676012466307072" target="_blank" rel="noopener noreferrer"&gt;Having a professional designer do your app&amp;rsquo;s design is always worth the money&lt;/a&gt;
. Not only do you save time, but it will also look much better.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>"Transitioning to Java": My First Book!</title><link>https://foojayio.github.io/website/today/transitioning-to-java-my-first-book/</link><pubDate>Wed, 24 May 2023 08:01:58 +0000</pubDate><guid>https://foojayio.github.io/website/today/transitioning-to-java-my-first-book/</guid><description>&lt;p&gt;&lt;img src="https://foojayio.github.io/website/today/transitioning-to-java-my-first-book/BookCover-407x510.jpg" alt="" loading="lazy"&gt;
&lt;/p&gt;
&lt;p&gt;When I retired from the classroom in 2021, I had no intention of sitting on a rocking chair on my front porch.&lt;/p&gt;
&lt;p&gt;I looked for speaking opportunities, became a member of the JCP EC, and continued thinking about ways to enhance Java teaching.&lt;/p&gt;
&lt;p&gt;I also wanted to write a book. I approached a number of publishers with my idea for a beginner&amp;rsquo;s book. I even wrote a sample chapter and publsihed it on my blog, &lt;a href="https://www.omnijava.com/2021/10/20/java-for-beginners-my-unsuccessful-book-proposal/" target="_blank" rel="noopener noreferrer"&gt;https://www.omnijava.com/2021/10/20/java-for-beginners-my-unsuccessful-book-proposal/&lt;/a&gt;
.&lt;/p&gt;</description></item><item><title>Monitoring Event Loops for Blockages</title><link>https://foojayio.github.io/website/today/monitoring-event-loops-for-blockages/</link><pubDate>Mon, 15 May 2023 16:42:18 +0000</pubDate><guid>https://foojayio.github.io/website/today/monitoring-event-loops-for-blockages/</guid><description>&lt;p&gt;Chronicle&amp;rsquo;s open source &lt;a href="https://github.com/OpenHFT/Chronicle-Threads" title="Chronicle Threads " target="_blank" rel="noopener noreferrer"&gt;Chronicle Threads&lt;/a&gt;
library has a little known feature which is one of the first tools I get from my bag if a client reports that they are seeing latency outliers.&lt;/p&gt;
&lt;p&gt;The usual way that a developer will measure their system for latency hotspots is to use a profiler, and modern profilers are amazing; there are numerous commercially available, but I generally find myself using Java Flight Recorder, async-profiler, or honest-profiler. These three are engineered to avoid the &lt;a href="https://stackoverflow.com/questions/17839933/what-are-safe-points-and-safe-point-polling-in-context-of-profiling" title="safepoint bias" target="_blank" rel="noopener noreferrer"&gt;safepoint bias&lt;/a&gt;
, and thus give very accurate results.&lt;/p&gt;</description></item><item><title>Unconventional Remote Process Control in Java</title><link>https://foojayio.github.io/website/today/presenting-xpipe/</link><pubDate>Mon, 08 May 2023 14:03:08 +0000</pubDate><guid>https://foojayio.github.io/website/today/presenting-xpipe/</guid><description>&lt;p&gt;Have you ever wanted to control a remote process from a Java application? Essentially something like a &lt;code&gt;ProcessBuilder&lt;/code&gt; for remote systems that allows you to run and configure a process on almost any system and also supports all regular features that you would expect from it.&lt;/p&gt;
&lt;p&gt;Now obviously, this isn&amp;rsquo;t a revolutionary idea. You can easily take an SSH library like the &lt;a href="https://github.com/mwiede/jsch" target="_blank" rel="noopener noreferrer"&gt;newer jsch fork&lt;/a&gt;
 and use the &lt;code&gt;exec&lt;/code&gt; or &lt;code&gt;shell&lt;/code&gt; channel to control remote processes or remote shells by just copying and pasting some tutorial code. So what is this about then?&lt;/p&gt;</description></item><item><title>Interview with Paul Kocian aka Orango_Mango</title><link>https://foojayio.github.io/website/today/interview-with-paul-kocian-aka-orango_mango/</link><pubDate>Mon, 08 May 2023 07:49:40 +0000</pubDate><guid>https://foojayio.github.io/website/today/interview-with-paul-kocian-aka-orango_mango/</guid><description>&lt;p&gt;&lt;em&gt;&lt;strong&gt;Some time ago on Twitter, I discovered &lt;a href="https://twitter.com/orango_mango" target="_blank" rel="noopener noreferrer"&gt;@Orango_Mango&lt;/a&gt;
, who shared his progress in creating a 3D engine with JavaFX. The shared videos started with a &lt;a href="https://twitter.com/orango_mango/status/1610894079654563843" target="_blank" rel="noopener noreferrer"&gt;Rubik&amp;rsquo;s cube in January &amp;lsquo;23&lt;/a&gt;
, over a &lt;a href="https://twitter.com/orango_mango/status/1620493609287172096" target="_blank" rel="noopener noreferrer"&gt;basic tumbling car in February&lt;/a&gt;
, to a &lt;a href="https://twitter.com/orango_mango/status/1646218237535813639" target="_blank" rel="noopener noreferrer"&gt;full Minecraft-like world in April&lt;/a&gt;
. Who is this @OrangoMango? And why did he take up the challenge to create a 3D engine with Java and JavaFX? Let&amp;rsquo;s find out&amp;hellip;&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;</description></item><item><title>JavaFX Links of April 2023</title><link>https://foojayio.github.io/website/today/javafx-links-of-april-2023/</link><pubDate>Sat, 29 Apr 2023 13:57:01 +0000</pubDate><guid>https://foojayio.github.io/website/today/javafx-links-of-april-2023/</guid><description>&lt;h2 id="h2-0-javafx-core"&gt;JavaFX Core&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://twitter.com/GluonHQ/status/1649078581887205377" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Gluon&lt;/strong&gt; announced JavaFX update releases&lt;/a&gt;
: 20.0.1 (latest release), 17.0.7 (latest LTS), and for Gluon LTS customers 11.0.19.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=f8TOo8TL4-k" target="_blank" rel="noopener noreferrer"&gt;In this video with &lt;strong&gt;Kevin Rushforth&lt;/strong&gt; he talks about JavaFX 20 and beyond&lt;/a&gt;
.
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://twitter.com/dlemmermann/status/1648267569663492096" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Dirk Lemmermann&lt;/strong&gt; tweeted some of the highlights&lt;/a&gt;
 like RichTextArea, ideas for future releases,&amp;hellip;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://youtu.be/f8TOo8TL4-k?t=1240" target="_blank" rel="noopener noreferrer"&gt;The Notebook demo is looking really nice&lt;/a&gt;
 to learn JavaFX in an easy way.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-1-conferences"&gt;Conferences&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;As announced a few weeks ago, &lt;strong&gt;Sean Phillips&lt;/strong&gt; was one of the keynote speakers at DevNexus in Atlanta. And his talk did not go unnoticed&amp;hellip;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://twitter.com/ixchelruiz/status/1643970024015556608" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Ixchel Ruiz&lt;/strong&gt;: &amp;ldquo;Blowing the ceiling of technology, passion, visualization&amp;rdquo;&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/johanvos/status/1644239933274574849" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Johan Vos&lt;/strong&gt;: &amp;ldquo;Innovation by and for devs/humans. Great to see all of this coming together&amp;rdquo;&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/vincentmayers/status/1643970564925673474" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Vincent Mayers&lt;/strong&gt;: &amp;ldquo;It&amp;rsquo;s clear that JavaFX is AMAZING! Thank you GluonHQ and Johan Vos for all your work and support for this&amp;rdquo;&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;And &lt;a href="https://twitter.com/search?q=%40SeanMiPhillips&amp;amp;src=typed_query&amp;amp;f=live" target="_blank" rel="noopener noreferrer"&gt;many more&amp;hellip;&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;The &lt;a href="https://www.reddit.com/r/JavaFX/comments/12biesq/matrix_1_end_scene_special_effect_of_digital_rain/" target="_blank" rel="noopener noreferrer"&gt;intro animation of his talk was shared on Reddit&lt;/a&gt;
 and shows the creators of the libraries used in his application as if they are trapped in the Matrix&amp;hellip;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-2-building-apps"&gt;Building apps&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://twitter.com/C0DEDEAD" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;CodeDead&lt;/strong&gt;&lt;/a&gt;
 shared a GitHub Actions workflow for the people that are using JDK 20, Gradle and JavaFX 20 &lt;a href="https://www.reddit.com/r/JavaFX/comments/129mkmx/javafx_20_jdk20_gradle_github_actions" target="_blank" rel="noopener noreferrer"&gt;on Reddit&lt;/a&gt;
 to test, build and package your JavaFX application on Windows, Linux and macOS when creating a pull request on either the main/master or development branches of your GIT project.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-3-javafx-scene-builder"&gt;JavaFX Scene Builder&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Version 20 is about ready. Feel free to test the &lt;a href="https://github.com/gluonhq/scenebuilder/releases/tag/early-access" target="_blank" rel="noopener noreferrer"&gt;latest snapshots&lt;/a&gt;
 and report blocking issues.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/cpreisler/status/1643748294898896897" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Chad Preisler&lt;/strong&gt; shared a video&lt;/a&gt;
 on how to use GemsFX in Scene Builder.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-4-bumped-to-java-and-javafx-20"&gt;Bumped to Java and JavaFX 20:&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://twitter.com/lanthale/status/1643943442945306625" target="_blank" rel="noopener noreferrer"&gt;LibHEIF 1.2.3&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://foojay.social/@jabref/110148247312318923" target="_blank" rel="noopener noreferrer"&gt;JabRef with speed improvements on macOS&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/C0DEDEAD/status/1642571326639538176" target="_blank" rel="noopener noreferrer"&gt;Opal v1.1.0&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/lanthale/status/1642981173826842624" target="_blank" rel="noopener noreferrer"&gt;LibrawFX 1.8.4&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-5-regular-guests"&gt;Regular guests&lt;/h2&gt;
&lt;h3 id="h3-6-orangomango"&gt;OrangoMango&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://twitter.com/orango_mango/status/1642948896484737025" target="_blank" rel="noopener noreferrer"&gt;Found a performance problem in his 3D engine&lt;/a&gt;
, thanks to &lt;strong&gt;Almas Baim&lt;/strong&gt; and VisualVM.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/orango_mango/status/1645098431046725640" target="_blank" rel="noopener noreferrer"&gt;Added transparent blocks&lt;/a&gt;
 to his 3D engine.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/orango_mango/status/1650868150836113409" target="_blank" rel="noopener noreferrer"&gt;Is creating a chess game&lt;/a&gt;
 and shares the code on GitHub. You can play chess in LAN (Java sockets) and export a game to FEN and PGN.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="h3-7-almas-baim"&gt;Almas Baim&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://twitter.com/AlmasBaim/status/1642661319668031488" target="_blank" rel="noopener noreferrer"&gt;Adding hex support for tiled .tmx maps to FXGL&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/AlmasBaim/status/1642277058033139712" target="_blank" rel="noopener noreferrer"&gt;Playing with a cat and PixelBuffer on April 1st&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/AlmasBaim/status/1649067406877155330" target="_blank" rel="noopener noreferrer"&gt;FXGL is also catching the Stable Diffusion train&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/AlmasBaim/status/1648769210175086604" target="_blank" rel="noopener noreferrer"&gt;Combining a black hole with a rasengan&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/AlmasBaim/status/1646896969783156736" target="_blank" rel="noopener noreferrer"&gt;Messing around with a TextArea and physics&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/AlmasBaim/status/1645908147217870848" target="_blank" rel="noopener noreferrer"&gt;Taking the term &amp;ldquo;physically based rendering&amp;rdquo; to a whole new level&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/AlmasBaim/status/1651351553578500097" target="_blank" rel="noopener noreferrer"&gt;Shared a video showing a game with many subtle visual effects&lt;/a&gt;
. Go fullscreen to see all details!&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/AlmasBaim/status/1649882265986424832" target="_blank" rel="noopener noreferrer"&gt;And he is also trying to hypnotize you&amp;hellip;&lt;/a&gt;
.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="h3-8-gerrit-grunwald"&gt;Gerrit Grunwald&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://twitter.com/hansolo_/status/1648381819052589056" target="_blank" rel="noopener noreferrer"&gt;Created a PoincarePlots while being on a plane&lt;/a&gt;
 and added it to &lt;a href="https://twitter.com/hansolo_/status/1648383683202523141" target="_blank" rel="noopener noreferrer"&gt;version 17.1.35 of his charts library&lt;/a&gt;
.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-9-miscellaneous"&gt;Miscellaneous&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://twitter.com/tobiasbriones_/status/1648576020293771265" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Tobias Briones&lt;/strong&gt; is using math to draw flowers&lt;/a&gt;
.
&lt;ul&gt;
&lt;li&gt;And in an oher tweet it&amp;rsquo;s &lt;a href="https://twitter.com/tobiasbriones_/status/1650900771263717377" target="_blank" rel="noopener noreferrer"&gt;not a bird, not a cat: It&amp;rsquo;s the bird cat&lt;/a&gt;
!&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://mastodon.xyz/@melix/110202202449191947" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Cédric Champeau&lt;/strong&gt; is working on an astronomy toy project&lt;/a&gt;
: a collection of libraries and applications for astronomy image processing in Java.
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://melix.github.io/blog/2023/04-22-introducing-astro4j.html" target="_blank" rel="noopener noreferrer"&gt;A blog post with more info and screenshots and video demos is available&lt;/a&gt;
.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/MariuszMaterna/status/1645901773515939841" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Mariusz Materna&lt;/strong&gt; announced a new version of LogViewFX&lt;/a&gt;
, a desktop application that makes viewing logs easier.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/ArturSkowronski/status/1645421150883786753" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Artur Skowronski&lt;/strong&gt;&lt;/a&gt;
 asked for RSS for this LinksOfTheWeek, and it will be &lt;a href="https://github.com/dlsc-software-consulting-gmbh/jfxcentral-data/pull/231" target="_blank" rel="noopener noreferrer"&gt;available soon&lt;/a&gt;
&amp;hellip;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/C0DEDEAD/status/1645201801589710848" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;CodeDead&lt;/strong&gt; is rebuilding a .NET desktop application&lt;/a&gt;
 to improve the performance and make it cross-platform.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/MalikHmaida/status/1649140308796403714" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Malik&lt;/strong&gt; happily shared his first JavaFX application&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/timeline_code/status/1646933681057964048" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Smith Ayo&lt;/strong&gt; is creating an Oware game&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/brunoborges/status/1650998712339156992" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Bruno Borges&lt;/strong&gt; is looking into his crystal ball for 2024&lt;/a&gt;
: &amp;ldquo;Oracle announces FxWeb, a framework for building WebAssembly UI with JavaFX, so you can code Java in both client and server side.&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/crschnick/status/1650522935101145088" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Christopher Schnick&lt;/strong&gt; is enhancing the gameplay experience of Paradox Grand Strategy games&lt;/a&gt;
 with JavaFX through the Pdx-Unlimiter and releases it with JReleaser.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/P_Duke/status/1651574017193566208" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Pedro Duque Vieira&lt;/strong&gt; shared a testimonial of Fortune 500 company choosing for Java and JavaFX&lt;/a&gt;
 (place 171) with headquarters in New York, a world leader in its sector.&lt;/li&gt;
&lt;li&gt;On Reddit a &lt;a href="https://www.reddit.com/r/Pacman/comments/12v706w/pacman_ms_pacman_2d3d_javafx/" target="_blank" rel="noopener noreferrer"&gt;video with 2D and 3D Pacman&lt;/a&gt;
 was published.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/siedlerchr/status/1649518550996987911" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;siedlerchr&lt;/strong&gt; shared a link to an excellent article explaining the concepts of Bindings&lt;/a&gt;
, it&amp;rsquo;s from 2020 but still very valid.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://jeannot-muller.com/javafx-or-swing-in-2023" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Jeannot Muller&lt;/strong&gt; wrote about &amp;ldquo;JavaFX or Swing in 2023&amp;rdquo;&lt;/a&gt;
.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-10-about-jfx-central-com"&gt;About jfx-central.com&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;New content: &lt;a href="https://www.jfx-central.com/real_world/xpipe" target="_blank" rel="noopener noreferrer"&gt;X-Pipe&lt;/a&gt;
: a flexible connection manager and remote file explorer.&lt;/li&gt;
&lt;li&gt;Coding for &lt;a href="https://twitter.com/dlemmermann/status/1646587048957018119" target="_blank" rel="noopener noreferrer"&gt;version 2 of the jfx-central has started&lt;/a&gt;
, check the Twitter thread if you want to join the development team.&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Approaches to Durability in Low Latency Messaging Queues</title><link>https://foojayio.github.io/website/today/comparing-approaches-to-durability-in-low-latency-messaging-queues/</link><pubDate>Wed, 26 Apr 2023 13:17:59 +0000</pubDate><guid>https://foojayio.github.io/website/today/comparing-approaches-to-durability-in-low-latency-messaging-queues/</guid><description>&lt;p&gt;A significant feature of &lt;a href="https://chronicle.software/queue-enterprise/?utm_source=foojay&amp;amp;amp;utm_medium=article&amp;amp;amp;utm_campaign=comparing-approaches" title="Chronicle Queue Enterprise" target="_blank" rel="noopener noreferrer"&gt;Chronicle Queue Enterprise&lt;/a&gt;
 is support for TCP replication across multiple servers to ensure high availability of application infrastructure.&lt;/p&gt;
&lt;p&gt;I have generally held the view that replicating data to a secondary system is faster than sync-ing to disk, assuming the round trip network delay wasn&amp;rsquo;t high due to quality networks and co-located redundant servers.&lt;/p&gt;
&lt;p&gt;This is the first time I have benchmarked it with a realistic example.&lt;/p&gt;</description></item><item><title>How Not To Skip A Message Even If Your Data Centre Fails</title><link>https://foojayio.github.io/website/today/chronicle-fix-designed-not-to-skip-a-message-even-if-your-data-centre-fails/</link><pubDate>Fri, 07 Apr 2023 15:21:31 +0000</pubDate><guid>https://foojayio.github.io/website/today/chronicle-fix-designed-not-to-skip-a-message-even-if-your-data-centre-fails/</guid><description>&lt;p&gt;A high level of availability of IT services is crucial to prevent disruptions of service that can lead to financial losses, business opportunity losses, data loss, and reputational damage.&lt;/p&gt;
&lt;p&gt;A business&amp;rsquo;s downtime cost can vary depending on its size, nature and the length of the downtime.&lt;/p&gt;
&lt;p&gt;Studies by Network Computing, the Meta Group, and Contingency Planning Research have identified financial services and telecommunications as industries with the highest revenue loss during downtime, demonstrating the importance of FIX engine high availability.&lt;/p&gt;</description></item><item><title>JavaFX Links of March 2023</title><link>https://foojayio.github.io/website/today/javafx-links-of-march-2023/</link><pubDate>Fri, 31 Mar 2023 12:56:00 +0000</pubDate><guid>https://foojayio.github.io/website/today/javafx-links-of-march-2023/</guid><description>&lt;p&gt;Already the end of March, so time to look back at the JavaFX Links Of The Week that were published on &lt;a href="https://www.jfx-central.com/" target="_blank" rel="noopener noreferrer"&gt;https://www.jfx-central.com/&lt;/a&gt;
.&lt;/p&gt;
&lt;h2 id="h2-0-javafx-core"&gt;JavaFX Core&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://mastodon.social/@johanvos/110011897804267729" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Johan Vos&lt;/strong&gt; is working on backports for JavaFX 17.0.7&lt;/a&gt;
 to guarantee quality and long-term support.
&lt;ul&gt;
&lt;li&gt;And he announced &lt;a href="https://mastodon.social/@johanvos/110033625841149774" target="_blank" rel="noopener noreferrer"&gt;JavaFX 20 could be released in the week of March 20th&lt;/a&gt;
. As planned.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Together with the &lt;a href="https://foojayio.github.io/website/today/its-java-20-release-day-heres-whats-new/"&gt;release of OpenJDK 20&lt;/a&gt;
, we also got the release of OpenJFX 20. Both right on schedule, as always!
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://foojay.social/@gluonhq@techhub.social/110061453814740449" target="_blank" rel="noopener noreferrer"&gt;Announcement by &lt;strong&gt;Gluon&lt;/strong&gt;&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;Downloads are also provided via &lt;a href="https://mastodon.social/@openjdk/110073623815076629" target="_blank" rel="noopener noreferrer"&gt;OpenJDK on jdk.java.net&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;Important message &lt;a href="https://github.com/openjdk/jfx/blob/jfx20/doc-files/release-notes-20.md" target="_blank" rel="noopener noreferrer"&gt;in the release notes&lt;/a&gt;
: &amp;ldquo;JavaFX 20 is compiled with &amp;ndash;release 17 and thus requires JDK 17 or later in order to run. If you attempt to run with an older JDK, the Java launcher will exit with an error message indicating that the javafx.base module cannot be read.&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/johanvos/status/1638168304664694787" target="_blank" rel="noopener noreferrer"&gt;Most important highlight for &lt;strong&gt;Johan Vos&lt;/strong&gt;&lt;/a&gt;
: &amp;ldquo;apps created many years ago still run on the latest JavaFX with latest OS. That is far from trivial, require lots of work, and not very common in client frameworks.&amp;rdquo;&lt;/li&gt;
&lt;li&gt;And another &lt;a href="https://mastodon.social/@johanvos/110061627191368710" target="_blank" rel="noopener noreferrer"&gt;quote from &lt;strong&gt;Johan&lt;/strong&gt;&lt;/a&gt;
: &amp;ldquo;I remember people and companies telling me 5 years ago they love Java and JavaFX, but they were pretty sure JavaFX would not be around in 2 years from them. So they used other client technologies&amp;hellip; which don&amp;rsquo;t exist anymore today&amp;hellip; while JavaFX&amp;hellip; keeps moving forward. With less hype, and less marketing power than other client frameworks, but with dedication and focus on quality, stability and community. And with tons of stuff todo, I 100% realize that.&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;You can already start experimenting with JavaFX 21 Early-Access Builds!
&lt;ul&gt;
&lt;li&gt;Get it from &lt;a href="https://gluonhq.com/products/javafx/" target="_blank" rel="noopener noreferrer"&gt;Gluon&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;Or &lt;a href="https://mastodon.social/@openjdk/110078557118569030" target="_blank" rel="noopener noreferrer"&gt;OpenJDK&lt;/a&gt;
.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;A &lt;a href="https://twitter.com/Raumzeitfalle/status/1638993956796239873" target="_blank" rel="noopener noreferrer"&gt;request by &lt;strong&gt;Raumzeitfalle&lt;/strong&gt;&lt;/a&gt;
: &amp;ldquo;If you like Java and JavaFX, give Scene Builder Leadinge Edge a try. Its latest version runs with Java 20 using JavaFX 20 and it combines many of the pending PRs so that one can test the functionality. Feel free to share your feedback on Github.&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-1-javafx-and-game-development"&gt;JavaFX and Game Development&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://twitter.com/hansolo_/status/1629506318389198850" target="_blank" rel="noopener noreferrer"&gt;17.0.13 of JArkanoid by &lt;strong&gt;Gerrit Grunwald&lt;/strong&gt;&lt;/a&gt;
 adds the ability to shoot enemies.
&lt;ul&gt;
&lt;li&gt;He describes in a &lt;a href="https://foojayio.github.io/website/today/porting-an-existing-javafx-app-to-ios/"&gt;Foojay post how to turn an existing application to an iPhone app&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;And he started with a new game, &lt;a href="https://twitter.com/hansolo_/status/1629224660259811332" target="_blank" rel="noopener noreferrer"&gt;as you can see in this first screenshot of loderunner&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/hansolo_/status/1635543158153965569" target="_blank" rel="noopener noreferrer"&gt;He shared the first version of a Tetris clone&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;This is &lt;a href="https://twitter.com/hansolo_/status/1634889764565585921" target="_blank" rel="noopener noreferrer"&gt;a screenshot&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;You can play it online, &lt;a href="https://twitter.com/WebFXProject/status/1635959116127404032" target="_blank" rel="noopener noreferrer"&gt;thanks to &lt;strong&gt;WebFX&lt;/strong&gt;&lt;/a&gt;
.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://mastodon.online/@myfear/109947358052519976" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Markus Eisele&lt;/strong&gt; shared a link to the GitHub project of pacman-javafx&lt;/a&gt;
: a JavaFX UI (2D+3D) for Pac-Man / Ms. Pac-Man, a project by &lt;strong&gt;Armin Reichert&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Another Minecraft-like world, in the &lt;a href="https://twitter.com/orango_mango/status/1631715021200687104" target="_blank" rel="noopener noreferrer"&gt;self-made 3D engine of &lt;strong&gt;OrangoMango&lt;/strong&gt;&lt;/a&gt;
.
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://twitter.com/orango_mango/status/1636401197039984640" target="_blank" rel="noopener noreferrer"&gt;It got extended with more Minecraft-like functions&lt;/a&gt;
: block breaking/placing, terrain generation, chunk system, and overall performance improvements.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/orango_mango/status/1636834800127586310" target="_blank" rel="noopener noreferrer"&gt;He added some new block types and fixed some issues with block breaking/placing in his Minecraft-like world&lt;/a&gt;
, and now has a small home made out of wood and coal blocks.&lt;/li&gt;
&lt;li&gt;It also has &lt;a href="https://twitter.com/orango_mango/status/1639660431160532993" target="_blank" rel="noopener noreferrer"&gt;Minecraft-like trees&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/SeanMiPhillips/status/1638332315163082753" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Sean Phillips&lt;/strong&gt; - being a JavaFX 3D expert - finds his work awesome&lt;/a&gt;
.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/WhiteWoodCity/status/1630151049486159874" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;WhiteWoodCity&lt;/strong&gt; shared a video with the combination of 2D and 3D&lt;/a&gt;
 game sub scenes.
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://twitter.com/WhiteWoodCity/status/1638528428440944640" target="_blank" rel="noopener noreferrer"&gt;Another video of a rougelike game prototype&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;And shared how he created a &lt;a href="https://twitter.com/WhiteWoodCity/status/1636904813228331010" target="_blank" rel="noopener noreferrer"&gt;pseudo 3D effect like Street of Rage, Dragon&amp;rsquo;s Crown&lt;/a&gt;
 with two GameSubScene and two entities of each GameWorld, and binding their properties with very clean and neat code.&lt;/li&gt;
&lt;li&gt;His game got &lt;a href="https://twitter.com/WhiteWoodCity/status/1635963164096598016" target="_blank" rel="noopener noreferrer"&gt;bumped to Graal and Java 20&lt;/a&gt;
. Yes, indeed, already before the official release of Java 20!&lt;/li&gt;
&lt;li&gt;And shared how he created a &lt;a href="https://twitter.com/WhiteWoodCity/status/1635143145456553984" target="_blank" rel="noopener noreferrer"&gt;dynamic shadow effect of a jump action with a Shape and Binding&lt;/a&gt;
 in less than 40 lines of code.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Almas Baim&lt;/strong&gt; has been very active on this month&amp;hellip;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://twitter.com/AlmasBaim/status/1635417926823198720" target="_blank" rel="noopener noreferrer"&gt;He discovered another FXGL game&lt;/a&gt;
: &amp;ldquo;The Last Cowboy Game - UTFPR&amp;rdquo;.&lt;/li&gt;
&lt;li&gt;And he shared a &lt;a href="https://twitter.com/AlmasBaim/status/1634541388128821249" target="_blank" rel="noopener noreferrer"&gt;screenshot showing FXGL is available in IntelliJIDEA&lt;/a&gt;
 when creating a new JavaFX project.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/AlmasBaim/status/1641412978992902144" target="_blank" rel="noopener noreferrer"&gt;Announcing version 17.3 of FXGL&lt;/a&gt;
: improve A* performance, isometric support for .tmx, 3D updates (lookAt, direction, rotation, .obj models), propertyMap convenience API.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/AlmasBaim/status/1639608367516729349" target="_blank" rel="noopener noreferrer"&gt;Pathfinding solution added to FXGL that outperforms the existing one by up to 80%&lt;/a&gt;
, by replacing ArrayList with HashSet in critical code.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/AlmasBaim/status/1639349553496293377" target="_blank" rel="noopener noreferrer"&gt;Another video with the FXGL engine pathfinding in action&lt;/a&gt;
. This demo shows large red areas that are not passable, while dynamic entities are ignored and can be passed through.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/AlmasBaim/status/1639017161455960064" target="_blank" rel="noopener noreferrer"&gt;Video showing physics sandboxes are never not fun&lt;/a&gt;
! You can now pick up any entity as seen in this sample.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/AlmasBaim/status/1639804091609088002" target="_blank" rel="noopener noreferrer"&gt;Video of text animations with particles&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/AlmasBaim/status/1640102122350944257" target="_blank" rel="noopener noreferrer"&gt;Video with particles, one as &amp;ldquo;lead&amp;rdquo;&lt;/a&gt;
, and other particles following with min and max distance, ensuring all particles are connected while the lead moves.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/AlmasBaim/status/1640474477258760192" target="_blank" rel="noopener noreferrer"&gt;Isometric tile support in FXGL has had significant interest over the years&lt;/a&gt;
. The maths looks straightforward but the architecture, as per usual, will need some careful pondering.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/AlmasBaim/status/1640802453288353792" target="_blank" rel="noopener noreferrer"&gt;Screenshot of initial progress towards having first-class support for isometric levels&lt;/a&gt;
 in FXGL.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/AlmasBaim/status/1641582312730030082" target="_blank" rel="noopener noreferrer"&gt;Video showing the new sliders in FXGL&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/AlmasBaim/status/1637915086571606016" target="_blank" rel="noopener noreferrer"&gt;He is throwing grenades&amp;hellip;&lt;/a&gt;
.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-2-javafx-in-science"&gt;JavaFX in Science&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://twitter.com/rnartist_app/status/1629862954127568897" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Fabrice Jossinet&lt;/strong&gt; shared an impressive preview video&lt;/a&gt;
 of a new tool to visualize the folding pathways of an RNA during its transcription. Pathways are computed with a Rust algorithm. Visualization and GUI are made with Kotlin, JavaFX and his rnartistcore library.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/rnartist_app/status/1637923762438918150" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;RNArtist&lt;/strong&gt; shared again an impressive video&lt;/a&gt;
 showing RNA visualization with JavaFX.
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://twitter.com/rnartist_app/status/1637912428276072448" target="_blank" rel="noopener noreferrer"&gt;&amp;ldquo;In RNAStudio, you can animate the transcription process&lt;/a&gt;
 along one of the computed folding pathways. When a new helix pops, it is first highlighted then added to the 2D. You can stop/restart the animation, go backwards/forwards.&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-3-miscellanous"&gt;Miscellanous&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://twitter.com/shannah78/status/1629515948637188096" target="_blank" rel="noopener noreferrer"&gt;jdeploy by &lt;strong&gt;Steve Hannah&lt;/strong&gt; now produces signed apps for Windows installers&lt;/a&gt;
. This should make Windows Defender more pleasant to be around.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Dirk Lemmermann&lt;/strong&gt; has also been very active&amp;hellip;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://twitter.com/dlemmermann/status/1640703431638753283" target="_blank" rel="noopener noreferrer"&gt;TableView replacement based on GridPane. No virtualisation&lt;/a&gt;
. Very useful for small datasets. Will be added to GemsFX very soon.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/dlemmermann/status/1640636273239916547" target="_blank" rel="noopener noreferrer"&gt;Screenshot of an answer on GitHub explaining there is only one codebase&lt;/a&gt;
 for jfxcentral website and desktop app, thanks to &lt;a href="https://twitter.com/jpro_one" target="_blank" rel="noopener noreferrer"&gt;@jpro_one&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/dlemmermann/status/1639262929752129544" target="_blank" rel="noopener noreferrer"&gt;The TimePicker in GemsFX has been improved by @cpreisler&lt;/a&gt;
. It can now also display and edit seconds and milliseconds.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/dlemmermann/status/1641025184248348672" target="_blank" rel="noopener noreferrer"&gt;He&amp;rsquo;s looking back at something he implemented almost 20 years ago with Java 5 and Swing&lt;/a&gt;
, and it still works perfectly nowadays with Java 19 &amp;hellip; just a whole lot faster!&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/dlemmermann/status/1631259318195462151" target="_blank" rel="noopener noreferrer"&gt;He showed a custom tooltip implementation for charts&lt;/a&gt;
. The tooltips show the values of all y-values for the same x-value whenever the mouse cursor hovers over one of the data points.&lt;/li&gt;
&lt;li&gt;In a &lt;a href="https://twitter.com/dlemmermann/status/1631331619498860547" target="_blank" rel="noopener noreferrer"&gt;comment tweet, he shows code&lt;/a&gt;
 to illustrate that each data point in a JavaFX chart is also a node that allows us to integrate such a feature.&lt;/li&gt;
&lt;li&gt;Read the comments to learn pro/contra of this approach and alternatives for large datasets.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/dlemmermann/status/1635263143155757057" target="_blank" rel="noopener noreferrer"&gt;He added a YearMonthPicker control to GemsFX&lt;/a&gt;
. It&amp;rsquo;s included in version 1.67.0.&lt;/li&gt;
&lt;li&gt;It was the result of a &lt;a href="https://twitter.com/dlemmermann/status/1634576422629961728" target="_blank" rel="noopener noreferrer"&gt;deep-dive into how to customize a ComboBox&lt;/a&gt;
.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/Fahim_FBA/status/1631352990719426561" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Fahim Bin Amin&lt;/strong&gt; shows in a 1,5h video&lt;/a&gt;
 how to create your own full-fledged project from scratch using JavaFX and Maven.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/logorrr/status/1630942843853258753" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Robert Ladstätter&lt;/strong&gt; shared exciting news&lt;/a&gt;
. LogoRRR is now officially available on the Apple Store!&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/tomosan119/status/1630562520229646337" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;工房奥谷&lt;/strong&gt; shared a video showing a 3D-CAD application&lt;/a&gt;
 to fit clothing patterns.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://mastodon.social/@juananpe/109989844101182399" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Juanan&lt;/strong&gt; shared an example to learn how to use a REST API in Java&lt;/a&gt;
 with a JavaFX Pokemon viewer. He added links to multiple videos demonstrating the code. Sources are available &lt;a href="https://github.com/juananpe/pokemon-viewer" target="_blank" rel="noopener noreferrer"&gt;on GitHub&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/JavaFX3D/status/1632612728664911872" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;JavaFX 3D&lt;/strong&gt; is asking who wants to contribute an importer for FBX or USDZ or GLB / glTF&lt;/a&gt;
 to FXyz. It already has 3D model importers for OBJ and Maya.
&lt;ul&gt;
&lt;li&gt;He already found a &lt;a href="https://twitter.com/JavaFX3D/status/1632613330920800256" target="_blank" rel="noopener noreferrer"&gt;starting point in an existing java project&lt;/a&gt;
.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/jjenkov/status/1632112292597751809" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Jakob Jenkov&lt;/strong&gt; and &lt;strong&gt;Andres Almiray&lt;/strong&gt; are talking about packaging a JavaFX app with JReleaser&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/MhamadHarmush/status/1633840863435714562" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;MhamadHarmush&lt;/strong&gt; shared Java and JavaFX tutorials in Arabic&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/WhiteWoodCity/status/1635661530867060736" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;WhiteWoodCity&lt;/strong&gt; shared a screenshots of NotificationFX&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/JavaFX3D/status/1635821978430103552" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;JavaFX3D&lt;/strong&gt; shared an article about 3DViewer by &lt;strong&gt;ChrisNahr&lt;/strong&gt;&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;JavaFX at DevNexus in Atlanta (4-6 April):
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://twitter.com/devnexus/status/1636031079973830657" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Gail Anderson&lt;/strong&gt; and &lt;strong&gt;Paul Anderson&lt;/strong&gt;&lt;/a&gt;
: &amp;ldquo;Modern Java with JavaFX for Rich Client UIs&amp;rdquo;.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/SeanMiPhillips/status/1636040045206405121" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Sean Phillips&lt;/strong&gt;&lt;/a&gt;
: &amp;ldquo;Harnessing the Hyper-dimensional Mind: Visualizing Brain-Computer Interfaces&amp;rdquo;.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://mastodon.social/@juananpe/110022581081582129" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Juanan Pereira&lt;/strong&gt; published a new video for his Software Engineering class&lt;/a&gt;
: How to display custom items in JavaFX ListView&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/aalmiray/status/1634931119828393986" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Andres Almiray&lt;/strong&gt; updated the JavaFX plasma application to reflect changes brought by JReleaser 1.5.1&lt;/a&gt;
, along with instructions for building.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/logorrr/status/1634213339470393345" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Robert Ladstätter&lt;/strong&gt; wrote a blog post about LogoRRR&amp;rsquo;s journey to the Apple App Store&lt;/a&gt;
 using JPackage.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/invokecoley/status/1637693418192228352" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Matt Coley&lt;/strong&gt; has a long Twitter thread about new the Recaf UI JavaFX work&lt;/a&gt;
, starting with a &amp;lsquo;please wait while the decompiler runs&amp;rsquo; animation that pulls hex dumps from the class being decompiled, and many more each with a video.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/shannah78/status/1605922584310452225" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Steve Hannah&lt;/strong&gt; shared a GitHub action&lt;/a&gt;
 to generate native installers for Java desktop apps.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/SerendigityInfo/status/1639293098227388416" target="_blank" rel="noopener noreferrer"&gt;SmartFinder by &lt;strong&gt;Serendipity&lt;/strong&gt; version 1.7.3 now runs with JavaFX 20&lt;/a&gt;
! It&amp;rsquo;s a Desktop Search Tool APP fully developed with Java and JavaFX technology.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Dirk Lemmermann&lt;/strong&gt; again shared a lot of JavaFX library and other info:
&lt;ul&gt;
&lt;li&gt;&amp;ldquo;If any of you work on &lt;a href="https://twitter.com/dlemmermann/status/1638910874261000192" target="_blank" rel="noopener noreferrer"&gt;planning and scheduling applications I can highly recommend #FlexGanttFX for visualizing plans / schedules&lt;/a&gt;
. Yes, it is a commercial library.&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&amp;ldquo;If your JavaFX application requires an &lt;a href="https://twitter.com/dlemmermann/status/1638903750726418432" target="_blank" rel="noopener noreferrer"&gt;on-screen keyboard, you might wanna check out KeyboardFX&lt;/a&gt;
.&amp;rdquo;&lt;/li&gt;
&lt;li&gt;A screenshot of the new market data portal he is creating, &lt;a href="https://twitter.com/dlemmermann/status/1638854795074338816" target="_blank" rel="noopener noreferrer"&gt;running in a browser&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;The new &lt;a href="https://twitter.com/dlemmermann/status/1638103850107260930" target="_blank" rel="noopener noreferrer"&gt;calendar view in GemsFX now also supports &amp;ldquo;date range&amp;rdquo; selection&lt;/a&gt;
 (and single date, multiple dates selection).&lt;/li&gt;
&lt;li&gt;Thanks to &lt;a href="https://twitter.com/dlemmermann/status/1638107356188798977" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Florian Kirmaier&lt;/strong&gt;, GemsFX has been extended with a great utility class for synchronous scrolling of two VirtualFlow instances&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;And he&amp;rsquo;s worried about his job as &lt;a href="https://twitter.com/dlemmermann/status/1638137320846106625" target="_blank" rel="noopener noreferrer"&gt;&amp;ldquo;ChatGPT &amp;ldquo;generates&amp;rdquo; a JavaFX app based on requirements&amp;rdquo;&lt;/a&gt;
. That&amp;rsquo;s probably thanks to the stability of the API over the last years!&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>JavaFX Links of February 2023</title><link>https://foojayio.github.io/website/today/javafx-links-of-february-2023/</link><pubDate>Tue, 28 Feb 2023 11:24:43 +0000</pubDate><guid>https://foojayio.github.io/website/today/javafx-links-of-february-2023/</guid><description>&lt;p&gt;February is a short month, but this list seems to be longer than ever&amp;hellip;&lt;/p&gt;
&lt;p&gt;A lot of game and 3D development, releases, interesting ongoing development, and so much more to read. Enjoy reading and clicking!&lt;/p&gt;
&lt;p&gt;This is a summary of the Links Of The Week as published on &lt;a href="https://www.jfx-central.com" target="_blank" rel="noopener noreferrer"&gt;jfx-central.com&lt;/a&gt;
 during February.&lt;/p&gt;
&lt;h3 id="h3-0-javafx-openjfx-core"&gt;JavaFX/OpenJFX Core&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Kevin Rushforth&lt;/strong&gt; of Oracle announced on the mailinglist &amp;ldquo;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&amp;rdquo;. So we will soon get a new version of JavaFX being released!&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/cpreisler/status/1620893592435978240" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Chad Preisler&lt;/strong&gt; wants to thank all JavaFX maintainers&lt;/a&gt;
: &amp;ldquo;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.&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/GluonHQ/status/1623680620315529216" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Gluon&lt;/strong&gt; announced public access to its JavaFX 17 builds&lt;/a&gt;
, including 17.0.6 and subsequent versions.
&lt;ul&gt;
&lt;li&gt;With an important note regarding version compatibility: &amp;ldquo;&lt;strong&gt;As the development of JavaFX 20 picks up momentum, it&amp;rsquo;s important to note a key change &amp;ndash; JavaFX 20 will require Java 17 or later.&lt;/strong&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/johanvos/status/1623958106387410945" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Johan Vos&lt;/strong&gt; of Gluon also shared&lt;/a&gt;
: &amp;ldquo;Gluon leverages GraalVM in Gluon Substrate, allowing JavaFX apps to be converted into native client apps for desktop, mobile and embedded.&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://techhub.social/@gluonhq/109902223934756469" target="_blank" rel="noopener noreferrer"&gt;They announced improved sound support&lt;/a&gt;
 for iOS in Gluon Attach.&lt;/li&gt;
&lt;li&gt;And thank &lt;a href="https://twitter.com/salmon_bruno" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Bruno Salmon&lt;/strong&gt;&lt;/a&gt;
 for a great contribution by adding the iOSAudioService.&lt;/li&gt;
&lt;li&gt;See the &lt;a href="https://github.com/gluonhq/attach/pull/347" target="_blank" rel="noopener noreferrer"&gt;code changes in the pull request&lt;/a&gt;
, optimised for games that may play sounds simultaneously frequently, without degrading performances.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/Polypragmatist/status/1623457419404914690" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Dave Barrett&lt;/strong&gt; is a big fan of JavaFX + Kotlin&lt;/a&gt;
: &amp;ldquo;it&amp;rsquo;s a match made in heaven. Kotlin gives you the tools to streamline your layout code in ways you never could in Java.&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/cpreisler/status/1623174913891659777" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Chad Preisler&lt;/strong&gt; shared a 5 minute about property binding&lt;/a&gt;
: &amp;ldquo;JavaFX makes getting data from your form controls into your model very easy.&amp;rdquo;.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/hansolo_/status/1621651332011642881" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Gerrit Grunwald&lt;/strong&gt; warns about the JavaFX Canvas being really nice and fast, but&lt;/a&gt;
 &amp;ldquo;be beware of effects&amp;hellip; Using one simple dropshadow in a GraphicsContext can really bring down performance&amp;hellip; Just as a reminder.&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="h3-1-scene-builder"&gt;Scene Builder&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://twitter.com/Raumzeitfalle/status/1627038605225955329" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Raumzeitfalle&lt;/strong&gt; shared an update for Scene Builder Leading Edge&lt;/a&gt;
: preview of unofficial and features-in-progress. February 2023 brings us support to create controllers in Scala and JRuby and a Chinese translation.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="h3-2-ui-development"&gt;UI Development&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://twitter.com/WhiteWoodCity/" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;WhiteWoodCity&lt;/strong&gt;&lt;/a&gt;
 shared a lot of JavaFX news:
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://twitter.com/WhiteWoodCity/status/1621461727681589248" target="_blank" rel="noopener noreferrer"&gt;He found this impressive video of VFX&lt;/a&gt;
, a JavaFX UI &lt;a href="https://www.bilibili.com/video/BV1c24y1B7jg/" target="_blank" rel="noopener noreferrer"&gt;framework&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;The &lt;a href="https://github.com/wkgcass/vfx" target="_blank" rel="noopener noreferrer"&gt;sources of VFX are available on GitHub&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;A &lt;a href="https://twitter.com/WhiteWoodCity/status/1618947794638884866" target="_blank" rel="noopener noreferrer"&gt;video of a self-made new JavaFX UI by &lt;strong&gt;WhiteWoodCity&lt;/strong&gt;&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/WhiteWoodCity/status/1622774096957431808" target="_blank" rel="noopener noreferrer"&gt;How to use of VFX components to decorate a JavaFX application&lt;/a&gt;
 with a link to video and sources.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/WhiteWoodCity/status/1624978159996407811" target="_blank" rel="noopener noreferrer"&gt;A video of a nice JavaFX UI&lt;/a&gt;
.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;In the previous edition of this list, a link was included to Matt Coley sharing his wish-list to extend RichText. There is a &lt;a href="https://github.com/FXMisc/RichTextFX/issues/1167" target="_blank" rel="noopener noreferrer"&gt;GitHub issue by &lt;strong&gt;Andy Goryachev&lt;/strong&gt; of Oracle asking for &amp;ldquo;Any missing APIs in JavaFX which are needed for RichTextFX&amp;rdquo;&lt;/a&gt;
 to gather feedback.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/SeanMiPhillips/status/1628819152122019841" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Sean Phillips&lt;/strong&gt; spotted a JavaFX user interface&lt;/a&gt;
 on a transparent Science- Fiction-like screen.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="h3-3-javafx-libraries"&gt;JavaFX Libraries&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://twitter.com/FrankDelporte/status/1622870327301746688" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Frank Delporte&lt;/strong&gt; shared it is still a long way to go, but Lottie4J can now read both fixed and animated beziers&lt;/a&gt;
. It includes a screenshot of the very first result of a loaded animation with colors, strokes, fills&amp;hellip; being the next step.
&lt;ul&gt;
&lt;li&gt;And shared a &lt;a href="https://foojay.social/@lottie4j/109839719108396708" target="_blank" rel="noopener noreferrer"&gt;link to an article&lt;/a&gt;
 why it could become important to have a JavaFX implementation of LottieFiles: &amp;ldquo;4.7 Million Motion Graphics Designers and Developers Turn to Lottie for Efficient Animation Workflow.&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://foojay.social/@lottie4j/109909075718845055" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Lottie4J&lt;/strong&gt; is making small progress&lt;/a&gt;
 in bringing LottieFiles animations to JavaFX with a first correctly colored stroke width and color.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/dlemmermann/status/1628069536074280964" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Dirk Lemmermann&lt;/strong&gt; created a new project on GitHub called LayoutFX&lt;/a&gt;
 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.
&lt;ul&gt;
&lt;li&gt;And he&amp;rsquo;s &lt;a href="https://twitter.com/dlemmermann/status/1628745308296425473" target="_blank" rel="noopener noreferrer"&gt;adding a custom control to GemsFX that allows to horizontally position and scroll multiple cells based on an items list&lt;/a&gt;
. The control fades out to the left and right.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="h3-4-javafx-applications"&gt;JavaFX Applications&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://twitter.com/hansolo_/status/1623028117219450881" target="_blank" rel="noopener noreferrer"&gt;JDKMon by &lt;strong&gt;Gerrit Grunwald&lt;/strong&gt; got downloaded 10k times&lt;/a&gt;
!&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/dlemmermann/status/1621512306311200769" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Dirk Lemmermann&lt;/strong&gt; is facing another nice design challenge for his CRM for the energy market&lt;/a&gt;
.
&lt;ul&gt;
&lt;li&gt;He also spotted &lt;a href="https://twitter.com/dlemmermann/status/1628342392964239360" target="_blank" rel="noopener noreferrer"&gt;JavaFX in the wild, in the online presence of an office supplies company&lt;/a&gt;
, running in the browser via Jpro.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/frankgreco/status/1623701464362229760" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Frank Greco&lt;/strong&gt; plans to create a JavaFX ChatGPT application this weekend&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://mastodon.social/@java_discussions/109849881898714868" target="_blank" rel="noopener noreferrer"&gt;The first alpha of X-Pipe, a new remote connection tool created with Java(FX)&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/Alessio_Vinerbi/status/1628098767160213525" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Alessio Vinerbi&lt;/strong&gt; shared a video&lt;/a&gt;
 showing the interaction between his visual modeler and FXML.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://foojay.social/@jabref/109836297203164251" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;JabRef&lt;/strong&gt; now has a dark theme created by &lt;strong&gt;Joel Maximilian Mai&lt;/strong&gt;&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.reddit.com/r/JavaFX/comments/11a36yv/windirstat_in_javafx/" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;trinaryoperator&lt;/strong&gt; created a JavaFX version of WinDirStat to do a cleanup of some directories&lt;/a&gt;
. In the future it will have actual tools to help hard drive clean-up.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/cpreisler/status/1628752475434909702" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Chad Preisler&lt;/strong&gt; built a very basic Kafka topic viewer&lt;/a&gt;
 and shared a 7-minute video with a link to the source code in the video description.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="h3-5-game-development"&gt;Game Development&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://twitter.com/AlmasBaim/status/1620569177928142848" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Almas Baim&lt;/strong&gt; shared a fancy particle effect demo&lt;/a&gt;
.
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://twitter.com/AlmasBaim/status/1621649400052211715" target="_blank" rel="noopener noreferrer"&gt;And he is practising his &amp;ldquo;summing skills&amp;rdquo;&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/AlmasBaim/status/1624788479686180864" target="_blank" rel="noopener noreferrer"&gt;Shared a video of a fishing game made with FXGL&lt;/a&gt;
 shared on YouTube. Does anyone know the creator?&lt;/li&gt;
&lt;li&gt;He also shared &lt;a href="https://twitter.com/AlmasBaim/status/1624475188942319617" target="_blank" rel="noopener noreferrer"&gt;a quick 20 LoC prototype with absolutely horrible UX&lt;/a&gt;
. However, it shows with a bit of refinement here and there, you could totally build yet another Minecraft clone.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/jhonnygoransson/status/1620563738347847682" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Jhonny Göransson&lt;/strong&gt; managed to mix JavaFX nodes with raw OpenGL calls&lt;/a&gt;
 from native cpp via drift-fx.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/ParrotMan18/status/1621884694081204225" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;ParrotMan&lt;/strong&gt; shared a project created 2 years ago&lt;/a&gt;
: &amp;ldquo;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.&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/YangKui7/status/1622748759309570050" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;GZYanKui&lt;/strong&gt; share a video with a game&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;We&amp;rsquo;re looking forward to the blogpost &lt;a href="https://twitter.com/hansolo_/status/1620132608205266945" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Gerrit Grunwald&lt;/strong&gt; will write on how to run a JavaFX application on iOS using Gluon&lt;/a&gt;
 with his sample application will JArkanoid.
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://twitter.com/hansolo_/status/1621905556075077634" target="_blank" rel="noopener noreferrer"&gt;He spent a weekend with some JArkanoid coding&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/hansolo_/status/1621905661012353025" target="_blank" rel="noopener noreferrer"&gt;And finished JArkanoid levels 4 - 7&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/hansolo_/status/1622151570119852033" target="_blank" rel="noopener noreferrer"&gt;And will build it with GitHub Actions&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/hansolo_/status/1625344281849352192" target="_blank" rel="noopener noreferrer"&gt;Implemented the last levels missing in JArkanoid.&lt;/a&gt;
. It now has all 32 levels of the original except the very last level. &lt;a href="https://github.com/HanSolo/jarkanoid" target="_blank" rel="noopener noreferrer"&gt;You can download the sources and builds for various systems from GitHub&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;And he &lt;a href="https://twitter.com/hansolo_/status/1626220741065850882" target="_blank" rel="noopener noreferrer"&gt;thanks José Pereda from Gluon&lt;/a&gt;
 to help him to get sound working on iPhone.&lt;/li&gt;
&lt;li&gt;You can &lt;a href="https://twitter.com/hansolo_/status/1628055233094991873" target="_blank" rel="noopener noreferrer"&gt;also run JArkanoid on Raspberry Pi&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;Gerrit &lt;a href="https://twitter.com/hansolo_/status/1627022312808513536" target="_blank" rel="noopener noreferrer"&gt;thanks &lt;strong&gt;Gluon&lt;/strong&gt; to make porting to mobile sooooooo easy&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/WebFXProject/status/1627654253253722113" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;WebFX&lt;/strong&gt; announced a web version&lt;/a&gt;
 that can be played &lt;a href="https://jarkanoid.webfx.dev/" target="_blank" rel="noopener noreferrer"&gt;online at jarkanoid.webfx.dev&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/maxandersen/status/1627453787412594688" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Max Rydahl Andersen&lt;/strong&gt; created a JBang version&lt;/a&gt;
 that can be simply started with &amp;ldquo;jbang jarkanoid@maxandersen&amp;rdquo;.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/YangKui7/status/1627317531966058499" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;GZYangKui&lt;/strong&gt; shared an other retro game&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/WhiteWoodCity/status/1627302125960302594" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;WhiteWoodCity&lt;/strong&gt; is using FXGL to simplify the code of UI applications&lt;/a&gt;
.
&lt;ul&gt;
&lt;li&gt;And &lt;a href="https://twitter.com/WhiteWoodCity/status/1628316669268606976" target="_blank" rel="noopener noreferrer"&gt;migrated his game fully to FXGL&lt;/a&gt;
.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="h3-6-3d"&gt;3D&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://twitter.com/orango_mango/status/1620493609287172096" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;OrangoMango&lt;/strong&gt; keeps experimenting with 3D&lt;/a&gt;
.
&lt;ul&gt;
&lt;li&gt;And what is really impressive&amp;hellip; &lt;a href="https://twitter.com/orango_mango/status/1620827009646759937" target="_blank" rel="noopener noreferrer"&gt;it is running on a Raspberry Pi with 2GB of memory&lt;/a&gt;
!&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/orango_mango/status/1621578572895854595" target="_blank" rel="noopener noreferrer"&gt;A rotating light that simulates the sun&lt;/a&gt;
, only with matrices and vectors in a self-made 3D engine.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/orango_mango/status/1625759767464484864" target="_blank" rel="noopener noreferrer"&gt;Improved shadows and performance by adding cache (video)&lt;/a&gt;
, in a self-made 3D engine from scratch.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/orango_mango/status/1627331295536680960" target="_blank" rel="noopener noreferrer"&gt;Experimenting with chess pieces&lt;/a&gt;
 with his 3D engine.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="h3-7-podcast"&gt;Podcast&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://twitter.com/AdamBien/status/1619811640802955265" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Adam Bien&lt;/strong&gt; talked in his podcast with &lt;strong&gt;Karol Harezlak&lt;/strong&gt;&lt;/a&gt;
 briefly about JavaFX.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="h3-8-miscellaneous"&gt;Miscellaneous&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Not directly JavaFX related, but nice to know&amp;hellip; &lt;a href="https://mastodon.social/@HeinzKabutz/109799634014176668" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Heinz Kabutz&lt;/strong&gt; shared graphs&lt;/a&gt;
 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.&lt;/li&gt;
&lt;li&gt;The research team of &lt;a href="https://twitter.com/AlmasBaim/status/1627783341805117447" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Almas Baim&lt;/strong&gt; completed basic initialization and setup steps&lt;/a&gt;
 for UI and robot interaction. The hype is real at the Robotics AI Lab.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="h3-9-jobs"&gt;Jobs&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://remotewant.com/job/javafx-developer-2/" target="_blank" rel="noopener noreferrer"&gt;JavaFX Developer (Remote)&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://germantechjobs.de/jobs/Honeypot-GmbH-Java-Entwickler" target="_blank" rel="noopener noreferrer"&gt;Java Entwickler (Berlin), including JavaFX&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://remotewant.com/job/lead-javafx-application-developer/" target="_blank" rel="noopener noreferrer"&gt;Lead JavaFX Application Developer (Remote)&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="h3-10-new-releases"&gt;New Releases&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/DaveJarvis/keenwrite" target="_blank" rel="noopener noreferrer"&gt;3.2.0 of KeenWrite by &lt;strong&gt;Dave Jarvis&lt;/strong&gt;&lt;/a&gt;
, a free, open-source, cross-platform desktop Markdown editor that can produce beautifully typeset PDFs.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/DaveJarvis/KeenType" target="_blank" rel="noopener noreferrer"&gt;2.2.1 of KeenType used in KeenWrite&lt;/a&gt;
 with modernized DANTE e.V.&amp;rsquo;s Java-based NTS system for rendering TeX.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/binjr_app/status/1620873802522701824" target="_blank" rel="noopener noreferrer"&gt;3.11 of binjr&lt;/a&gt;
, 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.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/PDFsamOSS/status/1620779451146719232" target="_blank" rel="noopener noreferrer"&gt;5, 5.0.1 and 5.0.2 of PDFsam&lt;/a&gt;
 a powerful and professional PDF editor.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/david_m_gilbert/status/1625034499355561984" target="_blank" rel="noopener noreferrer"&gt;v2.1.4 of FXGraphics2D by &lt;strong&gt;David Gilbert&lt;/strong&gt;&lt;/a&gt;
. This enables drawing on the JavaFX Canvas using the Java2D APIs. The update includes great contributions from &lt;a href="https://twitter.com/laurent_bourges" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Laurent Bourges&lt;/strong&gt;&lt;/a&gt;
 to fix clipping issues and boost performance!&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="h3-11-new-content-on-jfx-central-com"&gt;New content on jfx-central.com:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Company added: &lt;a href="https://www.jfx-central.com/companies" target="_blank" rel="noopener noreferrer"&gt;Intechcore&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Porting an Existing JavaFX App to iOS</title><link>https://foojayio.github.io/website/today/porting-an-existing-javafx-app-to-ios/</link><pubDate>Fri, 24 Feb 2023 11:42:11 +0000</pubDate><guid>https://foojayio.github.io/website/today/porting-an-existing-javafx-app-to-ios/</guid><description>&lt;p&gt;Sometimes there are JavaFX apps that I would also like to use on my iPhone but I wrote them for the desktop and it&amp;rsquo;s always the question how to do that?&lt;/p&gt;
&lt;p&gt;These days the simple answer is use &lt;a href="https://gluonhq.com/products/mobile/" target="_blank" rel="noopener noreferrer"&gt;Gluon Mobile&lt;/a&gt;
. But the real question remains&amp;hellip; how to do it?&lt;/p&gt;
&lt;p&gt;To give you an idea, I will take my little game called JArkanoid (a clone of the game &lt;a href="https://github.com/HanSolo/jarkanoid" target="_blank" rel="noopener noreferrer"&gt;Arkanoid&lt;/a&gt;
 from Taito from 1986) as an example.&lt;/p&gt;</description></item><item><title>JavaFX Links of January 2023</title><link>https://foojayio.github.io/website/today/javafx-links-of-january-2023/</link><pubDate>Mon, 30 Jan 2023 09:14:33 +0000</pubDate><guid>https://foojayio.github.io/website/today/javafx-links-of-january-2023/</guid><description>&lt;p&gt;2023 has taken off with a flying start in JavaFX-world!&lt;/p&gt;
&lt;p&gt;Here is a summary of the Links Of The Week that were published in January on &lt;a href="https://www.jfx-central.com/" target="_blank" rel="noopener noreferrer"&gt;jfx-central.com&lt;/a&gt;
.&lt;/p&gt;
&lt;h2 id="h2-0-javafx-versions"&gt;JavaFX Versions&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://techhub.social/@gluonhq/109710794664474768" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Gluon&lt;/strong&gt; announced the first set of JavaFX releases in 2023&lt;/a&gt;
:
&lt;ul&gt;
&lt;li&gt;JavaFX 19.0.2: public release containing some updates and security patches to JavaFX 19.&lt;/li&gt;
&lt;li&gt;JavaFX 11.0.18 and JavaFX 17.0.6: for LTS customers who keep supporting the development, and who make it possible to move JavaFX forward.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-1-podcast"&gt;Podcast&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;This was already mentioned the last time, but maybe you missed this 😉 Here on &lt;a href="https://twitter.com/foojayio" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Foojay.io&lt;/strong&gt;&lt;/a&gt;
, we published the podcast &lt;a href="https://foojayio.github.io/website/today/foojay-podcast-9/"&gt;&amp;ldquo;The State of JavaFX Framework, Libraries, and Projects&amp;rdquo;&lt;/a&gt;
. Pedro Duque Vieira, Sean Phillips, Johan Vos, Gail Anderson, Dirk Lemmermann, and Frank Delporte spoke about the JavaFX framework itself, but also about the libraries and applications that are built with it.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-2-games"&gt;Games&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://twitter.com/AlmasBaim/status/1610762162850463744" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Almas Baim&lt;/strong&gt;&lt;/a&gt;
 started the new year with eco-friendly fireworks. Powered by the FXGL particle system.
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=UAGRgntpliI" target="_blank" rel="noopener noreferrer"&gt;He also published a video tutorial&lt;/a&gt;
 in which he uses snow particles to outline an arbitrary String.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/AlmasBaim/status/1616901694582931456" target="_blank" rel="noopener noreferrer"&gt;And a video illustrating how modifying an entity&amp;rsquo;s TransformComponent&lt;/a&gt;
 will now correctly update the entity&amp;rsquo;s 3D direction and vice versa in FXGL.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/YangKui7/status/1609091899562004480?t=Y7LQ24JEmEgcNwKRbQ8YMQ&amp;amp;s=09" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;GZYangKui&lt;/strong&gt; shared a video of nes4j&lt;/a&gt;
 - The Nintendo Red and White Machine Simulator - and a link to the sources.
&lt;ul&gt;
&lt;li&gt;And another video &lt;a href="https://twitter.com/YangKui7/status/1610948697453662211" target="_blank" rel="noopener noreferrer"&gt;with Super Mario&lt;/a&gt;
.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.reddit.com/r/JavaFX/comments/zy69bk/gilded_sols_brief_overview/" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Peter Pietri&lt;/strong&gt;&lt;/a&gt;
 shared info and a video via Reddit of &amp;ldquo;Gilded Sols&amp;rdquo;, a game based on chess but with fantasy elements.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/WhiteWoodCity/status/1607564075625779200" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;WhiteWoodCity&lt;/strong&gt;&lt;/a&gt;
 promotes FXGL to create games.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://mastodon.social/@hansolo_/109678192185507846" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Gerrit Grunwald&lt;/strong&gt; is modifying the SpaceFX mobile build&lt;/a&gt;
 so that it runs again on iPhone, including an update of the readme regarding the build.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/HbotondS/status/1615328894382473219" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Botond Hegyi&lt;/strong&gt; already had some experience with JavaFX game development&lt;/a&gt;
, but he found out working with &lt;a href="https://twitter.com/AlmasBaim" target="_blank" rel="noopener noreferrer"&gt;FXGL by &lt;strong&gt;Almas Baim&lt;/strong&gt;&lt;/a&gt;
 is sooo much easier.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/orango_mango/status/1618642823074705410" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;OrangoMango&lt;/strong&gt; posted a video of snake bot&lt;/a&gt;
 using a pathfinding algorithm.
&lt;ul&gt;
&lt;li&gt;The sources &lt;a href="https://github.com/OrangoMango/Snake" target="_blank" rel="noopener noreferrer"&gt;are available on GitHub&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;And &lt;a href="https://twitter.com/orango_mango/status/1617918969025015809" target="_blank" rel="noopener noreferrer"&gt;another video&lt;/a&gt;
 showing a 3D animation only using matrices and vectors.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-3-javafx-applications"&gt;JavaFX Applications&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://twitter.com/zsevarac/status/1610634951321346050" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Zoran Sevarac&lt;/strong&gt;&lt;/a&gt;
 shared a screenshot of a Neural network visual Weights Analysis tool under development for the next DeepNetts release. It helps understanding what&amp;rsquo;s going on inside layers, and debugging trained networks.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Mohammed Saied&lt;/strong&gt; demonstrates a &lt;a href="https://www.youtube.com/shorts/fA56jf05M84" target="_blank" rel="noopener noreferrer"&gt;JavaFX GUI to control a car (via YouTube Shorts)&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://mastodon.social/@pilhuhn/109609291776854983" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Heiko Rupp&lt;/strong&gt;&lt;/a&gt;
 is making progress with a Java/JavaFX Mastodon application.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/LeeWyatt_7788/status/1608797264096657414" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;LeeWyatt&lt;/strong&gt;&lt;/a&gt;
 tweeted a short video introduction on how to use beta 2 of FXTools.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/helmiarkan/status/1608669184560631808" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Hilmi&lt;/strong&gt;&lt;/a&gt;
 made a hospital queue app for his final homework on Data Structures Practicum. Video and link to the sources.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/desmond__neba/status/1607500047255576581" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Neba Desmond&lt;/strong&gt;&lt;/a&gt;
 shared a video of a nice sidebar navigation.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/PatrikKarlstrom/status/1607359050555052032" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Patrik Karlström&lt;/strong&gt;&lt;/a&gt;
 is making progress moving Yaya from Swing to JavaFX using WorkbenchFX as the base for the UI.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/Tksrajan/status/1610985730200989701" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Sundar Krishnamachari&lt;/strong&gt;&lt;/a&gt;
 shared a small project that creates a UI client for communication over MQ Telemetry Transport or MQTT, a messaging protocol popular in IOT devices.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/JavaFX3D/status/1612944735752310784" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;JavaFX3D&lt;/strong&gt; found a nice Car Rental System&lt;/a&gt;
 with a JavaFX user interface. Code with screenshots and videos is &lt;a href="https://github.com/yuenci/Java-Car-Rental-System" target="_blank" rel="noopener noreferrer"&gt;available on GitHub&lt;/a&gt;
.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-4-javafx-development"&gt;JavaFX Development&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Setting up your JavaFX development environment can be challenging. &lt;a href="https://twitter.com/a_fester/status/1606385362728849415" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Andreas Fester&lt;/strong&gt;&lt;/a&gt;
 shared the solution that helped him to fix &amp;ldquo;Module not found&amp;rdquo;, thanks to &lt;a href="https://twitter.com/JPeredaDnr" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;José Pereda&lt;/strong&gt;&lt;/a&gt;
 and &lt;a href="https://twitter.com/kleopatra_jx" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Jeanette Winzenburg&lt;/strong&gt;&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/johanvos/status/1611354561863614465" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Johan Vos&lt;/strong&gt; is looking for help with the JavaFX plugin for Eclipse 2022-12&lt;/a&gt;
: &amp;ldquo;Who has #Eclipse experience and wants to help the #JavaFX community?&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-5-to-read"&gt;To Read&amp;hellip;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://twitter.com/nikosvg/status/1603462643670519823" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Nikos Vaggalis&lt;/strong&gt;&lt;/a&gt;
 wrote an article about WebFX, a new way to develop modern web-based Java applications with rich desktop-like GUIs.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/autumo" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Autumo&lt;/strong&gt;&lt;/a&gt;
 shared an article on Foojay: &lt;a href="https://foojayio.github.io/website/today/building-javafx-with-gradle/"&gt;&amp;ldquo;Modular and non-modular Gradle build scripts for JavaFX-based projects&amp;rdquo;&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/MetacodesPro/status/1612477239249047552" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Siegfried Steiner&lt;/strong&gt; wrote a very detailed, clear, step-by-step post&lt;/a&gt;
: &amp;ldquo;Write once, run anywhere: An Android game using JavaFX and the GraalVM&amp;rdquo;.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/jessals04/status/1611842000965505025" target="_blank" rel="noopener noreferrer"&gt;Another step-by-step by &lt;strong&gt;Jesse Watson&lt;/strong&gt;&lt;/a&gt;
 on how to start a JavaFX project using Eclipse IDE and SceneBuilder. &lt;a href="https://www.jessejwatson.com/posts/javafx-how-i-made-my-first-java-gui" target="_blank" rel="noopener noreferrer"&gt;Read it here&lt;/a&gt;
.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-6-miscellaneous"&gt;Miscellaneous&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://twitter.com/realThanhpv/status/1610996195182415874" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Thanhpv&lt;/strong&gt;&lt;/a&gt;
 is impressed by the performance of JavaFX on a 10y old computer. The screen recorder couldn&amp;rsquo;t catch up&amp;hellip;&lt;/li&gt;
&lt;li&gt;According to ChatGPT &lt;a href="https://twitter.com/lofidewanto/status/1610646563285524481" target="_blank" rel="noopener noreferrer"&gt;there are several advantages to using JavaFX over Swing or SWT&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;You want more information about the OpenJFX project than you can find here on jfx-central.com? Visit &lt;a href="https://github.com/mkpaz/aboutfx" target="_blank" rel="noopener noreferrer"&gt;mkpaz/aboutfx on GitHub&lt;/a&gt;
!&lt;/li&gt;
&lt;li&gt;According to the &amp;ldquo;2022 Q4&amp;rdquo; chart on &lt;a href="https://www.infoq.com/articles/java-jvm-trends-2022/" target="_blank" rel="noopener noreferrer"&gt;&amp;ldquo;Java InfoQ Trends Report - December 2022&amp;rdquo;&lt;/a&gt;
, OpenJFX is now considered a software development topic for the Innovators! So a call-out to all innovative people reading this&amp;hellip; JavaFX is the way to go! 🙂&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/MichaelPaus" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;MichaelPaus&lt;/strong&gt;&lt;/a&gt;
 shared this valuable link: &amp;ldquo;A very informative, but little known, source of information is the JavaFX tag info on stackoverflow: &lt;a href="https://stackoverflow.com/tags/javafx/info" target="_blank" rel="noopener noreferrer"&gt;stackoverflow.com/tags/javafx/info&lt;/a&gt;
. The FAQs cover all the things that are frequently asked on SO and actually should be consulted first before posting a question.&amp;rdquo;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://twitter.com/MichaelPaus/status/1612385027760734208" target="_blank" rel="noopener noreferrer"&gt;He also shared that he crossed the 10K reputation limit on Stackoverflow&lt;/a&gt;
 (which gives you access to the moderator tools), by answering mostly JavaFX related questions!&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=2Mjzw_fKqbM" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Matthew Wheeler&lt;/strong&gt; (via YouTube) uses JavaFX 3D&lt;/a&gt;
 to randomly generate galaxies.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/dlemmermann/status/1612469114127147010" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Dirk Lemmermann&lt;/strong&gt; shared a teaser&lt;/a&gt;
 of the new layout for jfx-central.com.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/JavaFX3D/status/1615214627868246016" target="_blank" rel="noopener noreferrer"&gt;Shared by &lt;strong&gt;JavaFX3D&lt;/strong&gt;&lt;/a&gt;
: &amp;ldquo;Go from Figma to a fully Responsive JavaFX Application with support for navigation, responsive sizes, images and more.&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/WhiteWoodCity/status/1615311572397883395" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;WhiteWoodCity&lt;/strong&gt; shared a video&lt;/a&gt;
 of a self-made TableView.
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://twitter.com/dlemmermann/status/1615385837432184832" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Dirk Lemmermann&lt;/strong&gt; replied this is actually an important tweet&lt;/a&gt;
. as many JavaFX developers think they &amp;ldquo;have to&amp;rdquo; use the TableView, and then complain about its limitations. Using GridPane you can create your own custom table view, as most HTML devs do for tables.&lt;/li&gt;
&lt;li&gt;And &lt;a href="https://twitter.com/WhiteWoodCity/status/1614644198187347970" target="_blank" rel="noopener noreferrer"&gt;another video showing a HDFS management system created with JavaFX&lt;/a&gt;
.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/MattColey6/status/1614826723127836672" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Matt Coley&lt;/strong&gt; discovered that JavaFX CSS allows you to effectively create borders&lt;/a&gt;
 just with the background color/insets property. This fixes the effect of changes in the component when you add a border, and padding changes are needed.
&lt;ul&gt;
&lt;li&gt;And he shared a &lt;a href="https://twitter.com/MattColey6/status/1616044636199440384" target="_blank" rel="noopener noreferrer"&gt;preview of the new attach window in Recaf (Java bytecode editor)&lt;/a&gt;
, that shows remote process properties and JMX beans, and indicates which JVM you&amp;rsquo;re attached to with highlighted components.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/SeanMiPhillips/status/1614054671684886528" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Sean Phillips&lt;/strong&gt; announced that the master branch of FXyz3D&lt;/a&gt;
 has been updated to build with Gradle 7.6 and JDK 17 thanks to &lt;a href="https://twitter.com/JPeredaDnr" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;José Pereda&lt;/strong&gt;&lt;/a&gt;
, and is working on several fixes and updates coming soon for the release of version 5.5.
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://twitter.com/SeanMiPhillips/status/1618021863481040897" target="_blank" rel="noopener noreferrer"&gt;He will provide a Keynote presentation at Devnexus 2023&lt;/a&gt;
, the largest Java conference in the USA: &amp;ldquo;Harnessing the Hyper-dimensional Mind: Visualizing Brain Computer Interfaces.&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/orango_mango/status/1616139988952825857" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;OrangoMango&lt;/strong&gt; shared a video of a rendering of an .obj file&lt;/a&gt;
 with only the use of the JavaFX canvas, including camera movement and rotation.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://foojay.social/@frankdelporte/109745863000952226" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Frank Delporte&lt;/strong&gt; announced he started working on a new Java library to load and save #LottieFiles and #dotLottie, plus a #JavaFX player&lt;/a&gt;
. The very early steps are taken with a website, Mastodon account, different Lottie JSON files can already be loaded and saved back to the same JSON, and a very first visual output shows there is some valid data being handled. Maybe you have ideas how to move on with visualizing and animating in JavaFX and want to contribute?
&lt;ul&gt;
&lt;li&gt;He also made his Udemy course &lt;a href="https://twitter.com/FrankDelporte/status/1616445015269556227" target="_blank" rel="noopener noreferrer"&gt;to learn how to use JavaFX on the Raspberry Pi available for FREE&lt;/a&gt;
.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;During the JChampions Conference, &lt;a href="https://twitter.com/gail_asgteach" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Gail Anderson&lt;/strong&gt;&lt;/a&gt;
 and &lt;a href="https://twitter.com/Paul_ASGTeach" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Paul Anderson&lt;/strong&gt;&lt;/a&gt;
 presented &lt;a href="https://www.youtube.com/watch?v=I2p4ojzV5TE" target="_blank" rel="noopener noreferrer"&gt;&amp;ldquo;Say the Words: Modern Java with JavaFX for Rich Client UIs&amp;rdquo;&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/MattColey6/status/1618550397198827520" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Matt Coley&lt;/strong&gt; shared his wish-list to extend RichText&lt;/a&gt;
. You want to join the discussion?&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-7-new-releases"&gt;New releases&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://foojay.social/@hansolo_@mastodon.social/109743119204551594" target="_blank" rel="noopener noreferrer"&gt;17.0.45 of JDKMon by &lt;strong&gt;Gerrit Grunwald&lt;/strong&gt;&lt;/a&gt;
: minor bugfix.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/SerendigityInfo/status/1616487713074446355" target="_blank" rel="noopener noreferrer"&gt;1.6.4 of SmartFinder by &lt;strong&gt;Serendipity&lt;/strong&gt;&lt;/a&gt;
 with a new quick search view: filter the search results by categories (Documents, Ebooks, Images,&amp;hellip;).&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/rladstaetter/status/1615025146015645708" target="_blank" rel="noopener noreferrer"&gt;23.1.0 of LogoRRR by &lt;strong&gt;Robert Ladstätter&lt;/strong&gt;&lt;/a&gt;
: builds for Linux, visual improvements, autoscroll support,&amp;hellip;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/dlemmermann/status/1614939333244452866" target="_blank" rel="noopener noreferrer"&gt;11.12.4 of CalendarFX by &lt;strong&gt;Dirk Lemmermann&lt;/strong&gt;&lt;/a&gt;
: very important fixes related to memory leaks that can happen when constantly recreating calendar views.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/david_m_gilbert/status/1612140104734089219?t=_DrlFGujAC-b0GMEYa8lmQ&amp;amp;s=09" target="_blank" rel="noopener noreferrer"&gt;1.5.4 of JFreeChart by &lt;strong&gt;David Gilbert&lt;/strong&gt;&lt;/a&gt;
, a project he started in 1999 and although he doesn&amp;rsquo;t spend much time on it these days, he made a new release. And got very nice feedback on this message!&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/dlemmermann/status/1613501135247101955" target="_blank" rel="noopener noreferrer"&gt;11.0.7 of GMapsFX by &lt;strong&gt;Dirk Lemmermann&lt;/strong&gt;&lt;/a&gt;
 is on Maven Central. No new features or bug fixes, simply updated jaxb version from 2 to 4.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/dlemmermann/status/1613565091110158337" target="_blank" rel="noopener noreferrer"&gt;11.55.0 of GemsFX by &lt;strong&gt;Dirk Lemmermann&lt;/strong&gt;&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://mastodon.social/@hansolo_/109675689095015969" target="_blank" rel="noopener noreferrer"&gt;GlucoStatusFX by &lt;strong&gt;Gerrit Grunwald&lt;/strong&gt;&lt;/a&gt;
 with a minor bugfix.&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Building JavaFX with Gradle</title><link>https://foojayio.github.io/website/today/building-javafx-with-gradle/</link><pubDate>Thu, 05 Jan 2023 11:32:24 +0000</pubDate><guid>https://foojayio.github.io/website/today/building-javafx-with-gradle/</guid><description>&lt;p&gt;Usually Maven is my build tool of choice and for Java front-ends I sometimes still build a front-end application using ANT, Swing with Oracle&amp;rsquo;s JDK 8u202 and JDK 8&amp;rsquo;s Java Packager, but don&amp;rsquo;t tell anyone&amp;hellip;.&lt;/p&gt;
&lt;p&gt;Over time, as I wanted to move forward with some more lightweight front-ends, I started building JavaFX applications.&lt;/p&gt;
&lt;p&gt;Of course, I don&amp;rsquo;t want to lock customers into JDK maintenance contracts; for backend software and servers, where the customer usually has their own runtime architecture, that&amp;rsquo;s easy, but for GUIs, I generally don&amp;rsquo;t want to ship a full JDK anymore, I want to use modular Java, ship a JDK of my choice, and provide a proper build system for it all. So that&amp;rsquo;s it, I use the following components and software:&lt;/p&gt;</description></item><item><title>JavaFX Links of December</title><link>https://foojayio.github.io/website/today/javafx-links-of-december/</link><pubDate>Tue, 27 Dec 2022 07:55:52 +0000</pubDate><guid>https://foojayio.github.io/website/today/javafx-links-of-december/</guid><description>&lt;p&gt;If anyone needs a reminder Java and JavaFX are &amp;ldquo;alive and kicking&amp;rdquo;, you can not only check out &lt;a href="https://https://www.jfx-central.com/home" target="_blank" rel="noopener noreferrer"&gt;jfx-central.com&lt;/a&gt;
, but also the list below.&lt;/p&gt;
&lt;p&gt;Although I&amp;rsquo;m trying to get of Twitter - for my own mental health 🙂 - I&amp;rsquo;m still being flooded with amazing content.&lt;/p&gt;
&lt;p&gt;Here is the result of the #LinksOfTheWeek that were published on jfx-central.com in December!&lt;/p&gt;
&lt;h2 id="h2-0-podcasts"&gt;Podcasts&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;In the Bootiful Podcast &lt;a href="https://bootifulpodcast.fm/#/episodes/3259c661-0524-46dc-805d-2388011030b9" target="_blank" rel="noopener noreferrer"&gt;&amp;ldquo;Java Champion, legendary engineer, and author Trisha Gee&amp;rdquo;&lt;/a&gt;
, &lt;a href="https://twitter.com/starbuxman" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Josh Long&lt;/strong&gt;&lt;/a&gt;
 talks with &lt;a href="https://twitter.com/trisha_gee" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Trisha Gee&lt;/strong&gt;&lt;/a&gt;
 about a lot of topics, including JavaFX.&lt;/li&gt;
&lt;li&gt;Here on &lt;a href="https://twitter.com/foojayio" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Foojay.io&lt;/strong&gt;&lt;/a&gt;
, we published the podcast &lt;a href="https://foojayio.github.io/website/today/foojay-podcast-9/"&gt;&amp;ldquo;The State of JavaFX Framework, Libraries, and Projects&amp;rdquo;&lt;/a&gt;
. These guests spoke about the JavaFX framework itself, but also about the libraries and applications that are built with it: &lt;a href="https://twitter.com/P_Duke" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Pedro Duque Vieira&lt;/strong&gt;&lt;/a&gt;
, &lt;a href="https://twitter.com/SeanMiPhillips" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Sean Phillips&lt;/strong&gt;&lt;/a&gt;
, &lt;a href="https://mastodon.social/@johanvos" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Johan Vos&lt;/strong&gt;&lt;/a&gt;
, &lt;a href="https://twitter.com/gail_asgteach" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Gail Anderson&lt;/strong&gt;&lt;/a&gt;
, &lt;a href="https://twitter.com/dlemmermann" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Dirk Lemmermann&lt;/strong&gt;&lt;/a&gt;
, host: &lt;a href="https://foojay.social/@frankdelporte" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Frank Delporte&lt;/strong&gt;&lt;/a&gt;
.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-1-various-news"&gt;Various News&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;In an interview, &lt;a href="https://foojay.social/@frankdelporte" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Frank Delporte&lt;/strong&gt;&lt;/a&gt;
 spoke with &lt;a href="https://twitter.com/SeanMiPhillips" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Sean Phillips&lt;/strong&gt;&lt;/a&gt;
. Every single thing he touches in his programming life turns into awesomeness. Read more about his work with &lt;a href="https://foojayio.github.io/website/today/visualizing-brain-computer-interface-data-using-javafx/"&gt;Trinity, a tool to visualize Brain Computer Interface data&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;On Wednesday, 7th of December 2022, the annual JavaFX user meeting &amp;ldquo;JFX Adopters Meeting 2022&amp;rdquo; hosted by ZEISS as online event took place. &lt;a href="https://www.zeiss.com/meditec/en/news-events/events/jfx-adopters-meeting.html" target="_blank" rel="noopener noreferrer"&gt;Registration page&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/dlemmermann" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Dirk Lemmermann&lt;/strong&gt;&lt;/a&gt;
 shared a few Tweets with ongoing work:
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://twitter.com/dlemmermann/status/1596184094295064578" target="_blank" rel="noopener noreferrer"&gt;Started work on a new layout container&lt;/a&gt;
 called &amp;ldquo;MatrixPane&amp;rdquo; based on GridPane and a list of &amp;ldquo;Tiles&amp;rdquo;, each tile carrying col, row, spans, grow priorities, and a node.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/dlemmermann/status/1596131245234298885" target="_blank" rel="noopener noreferrer"&gt;Further improvements of the notification control&lt;/a&gt;
 to support pinned notifications. It will be in GemsFX very soon.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Shared by &lt;a href="https://mastodon.social/@johanvos" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Johan Vos&lt;/strong&gt;&lt;/a&gt;
:
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://mastodon.social/@johanvos/109426954082587493" target="_blank" rel="noopener noreferrer"&gt;A major refactory/simplification on how JavaFX deals with windows and window managers on Linux is making progress&lt;/a&gt;
. See this &lt;a href="https://github.com/openjdk/jfx/pull/915" target="_blank" rel="noopener noreferrer"&gt;pull request&lt;/a&gt;
. All credits should go to &lt;a href="https://twitter.com/thiago_sayao" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Thiago Sayão&lt;/strong&gt;&lt;/a&gt;
!&lt;/li&gt;
&lt;li&gt;&amp;ldquo;&lt;a href="https://mastodon.social/@johanvos/109444928640623866" target="_blank" rel="noopener noreferrer"&gt;Maybe it&amp;rsquo;s time to think about moving JavaFX development to a foundation&lt;/a&gt;
, and have it developed in a vendor-neutral environment, where contributors are highly respected. That would require commitments from the industries that use JavaFX of course.&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Timo Reusch&lt;/strong&gt; shared a &lt;a href="https://dev.to/timo_reusch/using-sass-in-your-javafx-project-hf0" target="_blank" rel="noopener noreferrer"&gt;post in which he describes how you can use Sass to generate CSS for JavaFX&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/eduramiba" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Eduardo Ramos&lt;/strong&gt;&lt;/a&gt;
 tweeted about &lt;a href="https://en.capillary.io/software/capillaryscope/" target="_blank" rel="noopener noreferrer"&gt;CapillaryScope, a free desktop application&lt;/a&gt;
 designed for doing nailfold capillaroscopy with your favourite USB microscope.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/msgilligan" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Sean Gilligan&lt;/strong&gt;&lt;/a&gt;
 got triggered by a tweet by &lt;strong&gt;Johan Vos&lt;/strong&gt; about webcam support for OpenJDK/JavaFX. He has some ideas and prototype. &lt;a href="https://twitter.com/msgilligan/status/1600214413684150272" target="_blank" rel="noopener noreferrer"&gt;Read the thread here&lt;/a&gt;
.
&lt;ul&gt;
&lt;li&gt;Follow-up messages showing &lt;a href="https://foojay.social/@msgilligan/109491263323925811" target="_blank" rel="noopener noreferrer"&gt;he is making progress&amp;hellip;&lt;/a&gt;
.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Strange things are happening in the online social world&amp;hellip; Looking for a friendly environment for the Java, JavaFX, OpenJDK, JVM, Kotlin,&amp;hellip; community? Join &lt;a href="https://foojayio.github.io/website/today/foojay-on-mastodon-an-update/"&gt;foojay.social, more info in this post&lt;/a&gt;
, including a video to get you started.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/TheDonRaab" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Donald Raab&lt;/strong&gt;&lt;/a&gt;
 is searching for a &lt;a href="https://twitter.com/TheDonRaab/status/1603465185481658394" target="_blank" rel="noopener noreferrer"&gt;JavaFX App Store&amp;hellip;&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/antopelusi" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Antonio Pelusi&lt;/strong&gt;&lt;/a&gt;
 shared a complete CSS stylesheet to set a &lt;a href="https://www.antoniopelusi.com/posts/javafx-dark-theme/" target="_blank" rel="noopener noreferrer"&gt;dark theme in your JavaFX UI&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/Alessio_Vinerbi" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Alessio Vinerbi&lt;/strong&gt;&lt;/a&gt;
 keeps teasing us with his visual modeler application&amp;hellip;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://twitter.com/Alessio_Vinerbi/status/1601913626583093248" target="_blank" rel="noopener noreferrer"&gt;Intergration of Medusa Gauges&lt;/a&gt;
, a library by &lt;a href="https://twitter.com/hansolo_" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Gerrit Grunwald&lt;/strong&gt;&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/Alessio_Vinerbi/status/1601870967399190535?t=DJLwumrOcKpBcTEpMPwvlw&amp;amp;s=09" target="_blank" rel="noopener noreferrer"&gt;Having fun with the canvas&lt;/a&gt;
.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/MattColey6" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Matt Coley&lt;/strong&gt;&lt;/a&gt;
 shared an &lt;a href="https://twitter.com/MattColey6/status/1601273551444905986?t=ChOQm6FpJP4kBSbWs5_Rvg&amp;amp;s=09" target="_blank" rel="noopener noreferrer"&gt;impressive video of Code2HTML with a new UI with docking tabs&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;Are you considering to write a JavaFX Mastodon client? Take a look at the &lt;a href="https://github.com/andregasser/bigbone" target="_blank" rel="noopener noreferrer"&gt;Bigbone project, that aims to implement the Mastodon API project&lt;/a&gt;
, by &lt;a href="https://fosstodon.org/@andregasser" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;André Gasser&lt;/strong&gt;&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;JavaFX applications shared on Twitter:
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://twitter.com/fujohnwang/status/1605397549514633217" target="_blank" rel="noopener noreferrer"&gt;Keebox by @fujohnwang&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/deskriders_twt/status/1605216776463302663" target="_blank" rel="noopener noreferrer"&gt;GPT-FX by @deskriders_twt&lt;/a&gt;
: quick access to GPT-3 with ChatGPT like interface that remembers the context and stores the chat history. JavaFX + Kotlin.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/LeeWyatt_7788/status/1605225007239417856" target="_blank" rel="noopener noreferrer"&gt;FXTools by @LeeWyatt_7788&lt;/a&gt;
: many tools, such as image tools, which support the generation of icons for various OS; multi-image cutting function supports iOS, Android, PC; image format conversion.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/LeeWyatt_7788/status/1580958504369602560" target="_blank" rel="noopener noreferrer"&gt;A friend of @LeeWyatt_7788&lt;/a&gt;
 was interested in FXGL and made a demo of the game Plants vs. Zombies.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-2-learning-javafx"&gt;Learning JavaFX&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://twitter.com/TheDonRaab" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Donald Raab&lt;/strong&gt;&lt;/a&gt;
 shared a series of posts:
&lt;ul&gt;
&lt;li&gt;Part 1: &lt;a href="https://donraab.medium.com/my-first-javafx-application-ee70a1d48cb3" target="_blank" rel="noopener noreferrer"&gt;Building his very first JavaFX application with IntelliJ IDEA&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Part 2: &lt;a href="https://medium.com/javarevisited/experimenting-with-java-records-datepicker-and-tableview-in-javafx-446ff272dfd2" target="_blank" rel="noopener noreferrer"&gt;Java Records, DatePicker, and TableView components in JavaFX&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;Part 3: &lt;a href="https://medium.com/javarevisited/experimenting-with-java-enums-emojis-and-combobox-in-javafx-2c12492cf65" target="_blank" rel="noopener noreferrer"&gt;&amp;ldquo;Experimenting with Java enums, emojis, and ComboBox in JavaFX&amp;rdquo;&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Part 4: &lt;a href="https://donraab.medium.com/using-the-jackson-library-to-persist-my-javafx-todo-list-to-json-8a4b31917c09" target="_blank" rel="noopener noreferrer"&gt;&amp;ldquo;Using the Jackson library to persist my JavaFX ToDo List to JSON&amp;rdquo;&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Conclusion: &lt;a href="https://medium.com/javarevisited/my-weird-and-wonderful-first-adventures-with-javafx-6efe3b1923c8" target="_blank" rel="noopener noreferrer"&gt;overview of his experiments with JavaFX&lt;/a&gt;
.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-3-games"&gt;Games&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;A few weeks ago we shared this &lt;a href="https://www.youtube.com/watch?t=1337&amp;amp;v=jCBBCBCUt9E&amp;amp;feature=youtu.be" target="_blank" rel="noopener noreferrer"&gt;video showing a Space Invaders game&lt;/a&gt;
 by &lt;a href="https://www.youtube.com/@chalodss" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Charles T. (A Bit&amp;rsquo;s Odyssey)&lt;/strong&gt;&lt;/a&gt;
, but &lt;a href="https://twitter.com/hansolo_" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Gerrit Grunwald&lt;/strong&gt;&lt;/a&gt;
 also created a JavaFX version of this classic game! The &lt;a href="https://www.youtube.com/watch?v=GajccpyHyFM" target="_blank" rel="noopener noreferrer"&gt;video is here&lt;/a&gt;
 and the &lt;a href="https://github.com/HanSolo/spaceinvadersfx" target="_blank" rel="noopener noreferrer"&gt;sources are shared on GitHub&lt;/a&gt;
.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-4-javafx-job"&gt;JavaFX Job&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://twitter.com/dlemmermann" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Dirk Lemmermann&lt;/strong&gt;&lt;/a&gt;
 is looking to &lt;a href="https://twitter.com/dlemmermann/status/1603692027601879040" target="_blank" rel="noopener noreferrer"&gt;hire a JavaFX developer in Switzerland for his startup in the energy business&lt;/a&gt;
.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-5-new-content-on-jfx-central-com"&gt;New content on &lt;a href="https://www.jfx-central.com" target="_blank" rel="noopener noreferrer"&gt;jfx-central.com&lt;/a&gt;
&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.jfx-central.com/real_world/qfive" target="_blank" rel="noopener noreferrer"&gt;&amp;ldquo;QFive&amp;rdquo;&lt;/a&gt;
: an e-learning platform for enterprise customers, running on desktop, browser and mobile.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.jfx-central.com/real_world/nerstar" target="_blank" rel="noopener noreferrer"&gt;&amp;ldquo;NERstar&amp;rdquo;&lt;/a&gt;
: a cross-platform media application, used to create subtitles for live television, running on desktop and browser.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.jfx-central.com/real_world/modellusx" target="_blank" rel="noopener noreferrer"&gt;&amp;ldquo;ModellusX&amp;rdquo;&lt;/a&gt;
: enables students and teachers to use mathematics to create or explore models interactively. The latest release dates from 2012, but you can still find a &lt;a href="https://www.youtube.com/results?search_query=modellus" target="_blank" rel="noopener noreferrer"&gt;lot of videos created with it on YouTube&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;Over 40 &amp;ldquo;real world apps&amp;rdquo; is now listed on the website!&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-6-new-releases"&gt;New Releases&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://twitter.com/PDFsamOSS" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;PDFsam&lt;/strong&gt;&lt;/a&gt;
 released the first milestone of PDFsam Basic 5, &lt;a href="https://blog.pdfsam.org/java/pdfsam-basic-version-5-milestone-release/2366/#more-2366" target="_blank" rel="noopener noreferrer"&gt;more details are available here&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/mapton_app" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Mapton&lt;/strong&gt;&lt;/a&gt;
, &amp;ldquo;some kind of map application&amp;rdquo;, announced a new release for Windows &amp;amp; Linux, built on NetBeans 16 Platform, bundled with Java &amp;amp; JavaFX from Azul. &lt;a href="https://github.com/trixon/mapton/releases/tag/v3.0.0" target="_blank" rel="noopener noreferrer"&gt;You can get it here&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://mastodon.social/@hansolo_/109448566675747821" target="_blank" rel="noopener noreferrer"&gt;17.1.27 of JavaFX Charts&lt;/a&gt;
 by &lt;strong&gt;Gerrit Grunwald&lt;/strong&gt; with a &lt;a href="https://github.com/HanSolo/charts/releases" target="_blank" rel="noopener noreferrer"&gt;new CubeChart and other changes&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/dlemmermann/status/1598711714056380416?t=NgELT-PWpj05xVadgJI7zA&amp;amp;s=09" target="_blank" rel="noopener noreferrer"&gt;1.54.0 of GemsFX&lt;/a&gt;
 by &lt;strong&gt;Dirk Lemmermann&lt;/strong&gt; with several important fixes regarding layout issues for the new notification controls.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.jpro.one/docs/current/3.1/2022.1.X" target="_blank" rel="noopener noreferrer"&gt;2022.1.8 of JPro&lt;/a&gt;
 adds support for Node.viewOrder and includes various bugfixes and minor improvements.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/HanSolo/JDKMon/releases/tag/17.0.41" target="_blank" rel="noopener noreferrer"&gt;17.0.41 of JDKMon&lt;/a&gt;
 by &lt;strong&gt;Gerrit Grunwald&lt;/strong&gt; added the ability to manually download builds of GraalVM incl. #gluon, #mandrel and #liberican. JDKMon is a little tool written that tries to detect all JDK&amp;rsquo;s installed on your machine and will inform you about new updates of each OpenJDK distribution found.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/SerendigityInfo/status/1601150944762216449?t=obFEZKy149MabaV7o1tvXg&amp;amp;s=09" target="_blank" rel="noopener noreferrer"&gt;1.6.2 of &lt;strong&gt;Serendipity&lt;/strong&gt;&lt;/a&gt;
: improved suggestions and new image types.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://blog.jabref.org/#december-18-2022-%E2%80%93-%F0%9F%8E%84-jabref-5-8-release-%F0%9F%8E%84" target="_blank" rel="noopener noreferrer"&gt;v5.8 of JabRef&lt;/a&gt;
: open-source, cross-platform citation and reference management tool, more info in our &lt;a href="https://www.jfx-central.com/real_world/jabref" target="_blank" rel="noopener noreferrer"&gt;&amp;ldquo;Real World Apps&amp;rdquo; section&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/shannah78" target="_blank" rel="noopener noreferrer"&gt;v4 of jDeploy by &lt;strong&gt;Steve Hannah&lt;/strong&gt;&lt;/a&gt;
: JavaFX app template that provides native installers that receive auto-updates to stay in-sync with the latest source changes. See the &lt;a href="https://github.com/shannah/jdeploy-javafx-starter" target="_blank" rel="noopener noreferrer"&gt;GitHub project&lt;/a&gt;
.&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Foojay Podcast #9: State of JavaFX, Libraries, and Projects</title><link>https://foojayio.github.io/website/today/foojay-podcast-9/</link><pubDate>Mon, 19 Dec 2022 08:09:31 +0000</pubDate><guid>https://foojayio.github.io/website/today/foojay-podcast-9/</guid><description>&lt;p&gt;JavaFX was introduced by Sun Microsystems in May 2007 and provides a platform for desktop, mobile, and embedded applications built on Java.&lt;/p&gt;
&lt;p&gt;Libraries and software are available for the complete lifecycle of an application to run from a single codebase on Windows, macOS, Linux, Android, and iOS. JavaFX was originally part of the JDK, the Java Development Kit, and became a standalone technology in 2018.&lt;/p&gt;
&lt;p&gt;The development is a joint effort between Oracle, Gluon (a small Belgian-based company), and the community.&lt;/p&gt;</description></item><item><title>Visualizing Brain Computer Interface Data using JavaFX</title><link>https://foojayio.github.io/website/today/visualizing-brain-computer-interface-data-using-javafx/</link><pubDate>Fri, 09 Dec 2022 09:42:20 +0000</pubDate><guid>https://foojayio.github.io/website/today/visualizing-brain-computer-interface-data-using-javafx/</guid><description>&lt;p&gt;Recently &lt;a href="https://twitter.com/SeanMiPhillips" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Sean Phillips&lt;/strong&gt;&lt;/a&gt;
 shared some fascinating screenshots on Twitter and videos on YouTube of &lt;strong&gt;Trinity&lt;/strong&gt;, a JavaFX application he is working on.&lt;/p&gt;
&lt;p&gt;He is a software engineer at the &lt;strong&gt;Johns Hopkins University Applied Physics Laboratory&lt;/strong&gt; (&lt;a href="https://www.jhuapl.edu/" target="_blank" rel="noopener noreferrer"&gt;JHUAPL&lt;/a&gt;
), specializing in data visualization for multiple projects. JHUAPL works on various projects, ranging from medical work, building drones, cyber defense, and brain-computer interfaces to cislunar defense systems.&lt;/p&gt;
&lt;p&gt;The project that caught my eye is a visual exploration tool to test and evaluate machine learning decision-making and decoding systems.&lt;/p&gt;</description></item><item><title>JavaFX Links of November</title><link>https://foojayio.github.io/website/today/javafx-links-of-november/</link><pubDate>Thu, 01 Dec 2022 15:04:22 +0000</pubDate><guid>https://foojayio.github.io/website/today/javafx-links-of-november/</guid><description>&lt;p&gt;Time flies when having fun&amp;hellip;&lt;/p&gt;
&lt;p&gt;So here we are again, another month has passed and this is a summary of the Links Of The Week that were published on &lt;a href="https://www.jfx-central.com/home" target="_blank" rel="noopener noreferrer"&gt;jfx-central.com&lt;/a&gt;
 during November.&lt;/p&gt;
&lt;h2 id="h2-0-javafx-core"&gt;JavaFX Core&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;We already shared here that Oracle will also be distributing JavaFX builds, and you can see &lt;a href="https://www.youtube.com/watch?v=4hUbmI0nplU&amp;amp;amp;t=1600s" target="_blank" rel="noopener noreferrer"&gt;the announcement they did at JavaOne here&lt;/a&gt;
.
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://twitter.com/zinbe" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Takaaki Sugiyama&lt;/strong&gt;&lt;/a&gt;
 shared &lt;a href="https://twitter.com/zinbe/status/1583208414707998720" target="_blank" rel="noopener noreferrer"&gt;a lot of screenshot pictures of the JavaOne presentation &amp;ldquo;JavaFX 19 and Beyond&amp;rdquo;&lt;/a&gt;
, and the full presentation by &lt;a href="https://twitter.com/kevinrushforth" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Kevin Rushforth&lt;/strong&gt;&lt;/a&gt;
 is available as a &lt;a href="https://cr.openjdk.java.net/~kcr/presentations/javaone-2022/JavaFX-19_Final.pdf" target="_blank" rel="noopener noreferrer"&gt;PDF here&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Inside Java&lt;/strong&gt; &lt;a href="https://inside.java/2022/11/18/podcast-027/" target="_blank" rel="noopener noreferrer"&gt;published a podcast&lt;/a&gt;
 with Kevin Rushforth, OpenJFX Project Co-Lead, working at Oracle.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Early-access builds of JavaFX 20 are available from
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://gluonhq.com/products/javafx/" target="_blank" rel="noopener noreferrer"&gt;Gluon&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://jdk.java.net/javafx20/" target="_blank" rel="noopener noreferrer"&gt;Oracle&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-1-scenebuilder"&gt;SceneBuilder&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;A feature in development for SceneBuilder: drop one or more FXML files into the welcome page to open them, as you can see in &lt;a href="https://twitter.com/Raumzeitfalle/status/1587543306782887937?t=48IdRrEehs88chXQ0iAMKg&amp;amp;amp;s=09" target="_blank" rel="noopener noreferrer"&gt;this video&lt;/a&gt;
 shared by &lt;a href="https://twitter.com/Raumzeitfalle" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Raumzeitfalle&lt;/strong&gt;&lt;/a&gt;
.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-2-games"&gt;Games&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;JavaFX Chess by &lt;a href="https://twitter.com/john_sirach" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;John Sirach&lt;/strong&gt;&lt;/a&gt;
 is not a new project, but &lt;a href="https://twitter.com/jjenkov" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Jakob Jenkov&lt;/strong&gt;&lt;/a&gt;
 shared &lt;a href="https://twitter.com/jjenkov/status/1586785876050427904" target="_blank" rel="noopener noreferrer"&gt;a tweet about it&lt;/a&gt;
, and it&amp;rsquo;s always nice &lt;a href="https://www.youtube.com/watch?v=6S6km5duBrM" target="_blank" rel="noopener noreferrer"&gt;to see a video of this amazing project&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/JavaFX3D" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;JavaFX3D&lt;/strong&gt;&lt;/a&gt;
 shared some nice links:
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://twitter.com/JavaFX3D/status/1590145286118465536" target="_blank" rel="noopener noreferrer"&gt;Monopoly game implemented in JavaFX as a student project by Titof Abdellatif Anflous&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=jCBBCBCUt9E" target="_blank" rel="noopener noreferrer"&gt;Space Invaders game&lt;/a&gt;
 by &lt;a href="https://www.youtube.com/@chalodss" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Charles T. (A Bit&amp;rsquo;s Odyssey)&lt;/strong&gt;&lt;/a&gt;
 (explanation in French).&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/orango_mango" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;OrangoMango&lt;/strong&gt;&lt;/a&gt;
, a Java game developer, &lt;a href="https://www.youtube.com/watch?v=NOPdE1UoqRw" target="_blank" rel="noopener noreferrer"&gt;published a video&lt;/a&gt;
 showing how to make a simple shooter game in Java with the JavaFX framework.&lt;/li&gt;
&lt;li&gt;GenCross-A mini crossword application written with JavaFX by &lt;strong&gt;u/CasualCompetive&lt;/strong&gt; , fully described on &lt;a href="https://shifitzel.itch.io/gencross" target="_blank" rel="noopener noreferrer"&gt;shifitzel.itch.io/gencross&lt;/a&gt;
.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-3-showcase"&gt;Showcase&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://twitter.com/samieteq" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Samie Azubike&lt;/strong&gt;&lt;/a&gt;
 shared a &lt;a href="https://twitter.com/samieteq/status/1583769072273354752" target="_blank" rel="noopener noreferrer"&gt;video in a tweet showing BobFI&lt;/a&gt;
, a nice JavaFX UI to manage tasks, projects, messages, and help you communicate with your team.&lt;/li&gt;
&lt;li&gt;Some new great demos of the visual modeler, written in JavaFX and integrating OpenCV, by &lt;a href="https://twitter.com/Alessio_Vinerbi" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Alessio Vinerbi&lt;/strong&gt;&lt;/a&gt;
:
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://twitter.com/Alessio_Vinerbi/status/1586044299996631042" target="_blank" rel="noopener noreferrer"&gt;Blending modes&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/Alessio_Vinerbi/status/1587406474313089026" target="_blank" rel="noopener noreferrer"&gt;Integration of processing nodes&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/Alessio_Vinerbi/status/1588849677645934594" target="_blank" rel="noopener noreferrer"&gt;Integration of MQTT&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;BTW, this tool is not public yet, but we hope to be able to give it a try ourselves soon&amp;hellip; 😉&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/Geolocoder" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Rachael Ellen&lt;/strong&gt;&lt;/a&gt;
 shared a &lt;a href="https://twitter.com/Geolocoder/status/1588208416547254272" target="_blank" rel="noopener noreferrer"&gt;screenshot of an app that sketches polygons&lt;/a&gt;
 to highlight abandoned structures of the long deserted settlement of Shiaba, (IsleOfMull, Scotland). The &lt;a href="https://github.com/Esri/arcgis-runtime-samples-java" target="_blank" rel="noopener noreferrer"&gt;full project is on GitHub&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/PDFsamOSS" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;PDFsam&lt;/strong&gt;&lt;/a&gt;
, a powerful and professional PDF editor, will have a dark theme in the next major version as &lt;a href="https://twitter.com/PDFsamOSS/status/1588564518644617216" target="_blank" rel="noopener noreferrer"&gt;you can see in this screen recording&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/hansolo_" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Gerrit Grunwald&lt;/strong&gt;&lt;/a&gt;
 re-created a little JavaFX control to monitor CPU, memory and temperature of your computer, see &lt;a href="https://github.com/HanSolo/jcpu" target="_blank" rel="noopener noreferrer"&gt;the GitHub project&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/realThanhpv" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Thanhpv&lt;/strong&gt;&lt;/a&gt;
 shared some &lt;a href="https://twitter.com/realThanhpv/status/1590306623364665345" target="_blank" rel="noopener noreferrer"&gt;first screenshots of a new JavaFX application&lt;/a&gt;
 to quickly and accurately build visualized and transparent construction quantity reports for resource planning, cost estimation, risk management.,&amp;hellip; To be continued&amp;hellip;&lt;/li&gt;
&lt;li&gt;A &lt;a href="https://github.com/AmirAli-AZ/PeriodicTable" target="_blank" rel="noopener noreferrer"&gt;simple periodic table app for chemistry lovers on GitHub&lt;/a&gt;
 by &lt;strong&gt;AmirAli&lt;/strong&gt; , based on this &lt;a href="https://github.com/Bowserinator/Periodic-Table-JSON" target="_blank" rel="noopener noreferrer"&gt;periodic table JSON&lt;/a&gt;
.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-4-learning"&gt;Learning&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://twitter.com/Polypragmatist" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Dave Barret&lt;/strong&gt;&lt;/a&gt;
 has a lot of very nice tutorials on his site! For instance &lt;a href="https://www.pragmaticcoding.ca/javafx/Mvci-Introduction" target="_blank" rel="noopener noreferrer"&gt;&amp;ldquo;An Introduction to Model-View-Controller-Interactor&amp;rdquo;&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/desmond__neba" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Neba Desmond&lt;/strong&gt;&lt;/a&gt;
 on Twitter: &lt;a href="https://twitter.com/desmond__neba/status/1595881606602194944" target="_blank" rel="noopener noreferrer"&gt;&amp;ldquo;Day 24 of #100Daysofcode. Today was about making menus in #JavaFX&amp;rdquo;&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/TheDonRaab" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Donald Raab&lt;/strong&gt;&lt;/a&gt;
 shared a blog about &lt;a href="https://donraab.medium.com/my-first-javafx-application-ee70a1d48cb3" target="_blank" rel="noopener noreferrer"&gt;building his very first JavaFX application with IntelliJ IDEA&lt;/a&gt;
.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-5-new-on-jfx-central-com"&gt;New on jfx-central.com&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Real-world app: &lt;a href="https://www.jfx-central.com/real_world/hero" target="_blank" rel="noopener noreferrer"&gt;&amp;ldquo;HERO&amp;rdquo;&lt;/a&gt;
 by &lt;a href="https://twitter.com/P_Duke" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Pedro Duque Vieira&lt;/strong&gt;&lt;/a&gt;
, a CAD application for calculating the energy efficiency of dwellings.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-6-other"&gt;Other&amp;hellip;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://twitter.com/jpro_one" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;JPro&lt;/strong&gt;&lt;/a&gt;
 announced a &lt;a href="https://www.jpro.one/docs/current/3.1/2022.1.X?" target="_blank" rel="noopener noreferrer"&gt;new version 2022.1.6&lt;/a&gt;
 with a modernized FileUpload API, support for multi-file upload, and browser native scrolling.
&lt;ul&gt;
&lt;li&gt;This means &lt;a href="https://www.jfx-central.com/" target="_blank" rel="noopener noreferrer"&gt;jfx-central.com&lt;/a&gt;
 now also uses this new scrolling implementation.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/dlemmermann" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Dirk Lemmermann&lt;/strong&gt;&lt;/a&gt;
 expressed his admiration for &lt;a href="https://www.jfx-central.com/tools/cssfx" target="_blank" rel="noopener noreferrer"&gt;CSSFX&lt;/a&gt;
 that saves him a lot of time while developing by providing CSS reloading functionality in your running application.&lt;/li&gt;
&lt;li&gt;Two months ago, &lt;a href="https://twitter.com/rladstaetter" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Robert Ladstätter&lt;/strong&gt;&lt;/a&gt;
 announced the 1000th download of LogoRRR, another JavaFX GUI application! This week he &lt;a href="https://twitter.com/logorrr/status/1588802037923254272" target="_blank" rel="noopener noreferrer"&gt;passed the 2000 downloads&lt;/a&gt;
! Congratz for a great app!!
&lt;ul&gt;
&lt;li&gt;BTW, Robert is looking for help: &lt;a href="https://github.com/rladstaetter/LogoRRR/issues/12" target="_blank" rel="noopener noreferrer"&gt;&amp;ldquo;How can you extract time instant information from log files&amp;rdquo;&lt;/a&gt;
.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/WebFXProject" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;WebFX&lt;/strong&gt;&lt;/a&gt;
 announced that &lt;a href="https://modality.one" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Modality&lt;/strong&gt;&lt;/a&gt;
 chose WebFX as its UI toolkit, being the first real-world WebFX application in development, and is driving forward the WebFX enterprise features. See &lt;a href="https://twitter.com/WebFXProject/status/1589961407469977600" target="_blank" rel="noopener noreferrer"&gt;video in the tweet&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;A lot of the Links Of The Week are found on Twitter. But for a few weeks that medium lost a lot of its fun (in my opinion) since the take-over by Musk. So I&amp;rsquo;m slowly moving to Mastodon as my new &amp;ldquo;source of truth and inspiration&amp;rdquo;. It is a-kind-of-Twitter-alternative, free of advertisements and based on an opensource project. And then it&amp;rsquo;s fun to &lt;a href="https://bigshoulders.city/@wakingrufus/109344242897231710" target="_blank" rel="noopener noreferrer"&gt;discover an (old) Mastodon client application&lt;/a&gt;
 in Kotlin and TornadoFX by &lt;a href="https://bigshoulders.city/@wakingrufus" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;wakingrufus&lt;/strong&gt;&lt;/a&gt;
. You can &lt;a href="https://github.com/wakingrufus/mastodon-jfx" target="_blank" rel="noopener noreferrer"&gt;find it on GitHub&lt;/a&gt;
. It probably needs some updates, but it could be the start of something fun. Take a look!
&lt;ul&gt;
&lt;li&gt;If you want to create a Mastodon account or want to move to a server dedicated to the OpenJDK, Java, JavaFX, JVM,&amp;hellip; community, you can join &lt;a href="https://foojay.social" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;foojay.social&lt;/strong&gt;&lt;/a&gt;
 that was created this week. For more info, check the &lt;a href="https://foojayio.github.io/website/today/foojay-mastodon-service-here-it-is/"&gt;posts on Foojay.io, the website for the Friends Of OpenJDK&lt;/a&gt;
.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/SDIDSA/jwin" target="_blank" rel="noopener noreferrer"&gt;jWin&lt;/a&gt;
 by &lt;strong&gt;Zinelabidine Teyar&lt;/strong&gt;: a Java tool that compiles and packs your app as a Windows installer.&lt;/li&gt;
&lt;li&gt;Teaser: end of November a Foojay Podcast was recorded about JavaFX with &lt;a href="https://twitter.com/johanvos" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Johan Vos&lt;/strong&gt;&lt;/a&gt;
, &lt;a href="https://twitter.com/dlemmermann" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Dirk Lemmermann&lt;/strong&gt;&lt;/a&gt;
, &lt;a href="https://twitter.com/gail_asgteach" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Gail Anderson&lt;/strong&gt;&lt;/a&gt;
, &lt;a href="https://twitter.com/P_Duke" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Pedro Duque Vieira&lt;/strong&gt;&lt;/a&gt;
, and &lt;a href="https://twitter.com/SeanMiPhillips" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Sean Phillips&lt;/strong&gt;&lt;/a&gt;
. Still some editing to be done and will be published around the 20th of December as a Christmas present 😉&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Gossips: An Event-Bus in a Chatty Neighbourhood</title><link>https://foojayio.github.io/website/today/metaphorical-programming-gossips-event-bus/</link><pubDate>Thu, 24 Nov 2022 08:35:32 +0000</pubDate><guid>https://foojayio.github.io/website/today/metaphorical-programming-gossips-event-bus/</guid><description>&lt;p&gt;In this article, we&amp;rsquo;ll tackle a common issue: &lt;em&gt;simple&lt;/em&gt; communication between system components. With a slightly controversial, themed, domain-driven design.&lt;/p&gt;
&lt;p&gt;Though this post has nothing to do with Android, we need a context where an Event-Bus is needed. And boy oh boy is it needed in Android! And we&amp;rsquo;ll use this as an excuse to write an Event-Bus.&lt;/p&gt;
&lt;p&gt;I chose an analogy for the entire thing: &lt;strong&gt;Gossips&lt;/strong&gt;;\&lt;/p&gt;
&lt;p&gt;It fits with the nature of the library, and the way it&amp;rsquo;ll be used. A global pub-sub component to enable cross-component communication.&lt;/p&gt;</description></item><item><title>JavaFX Links Of October</title><link>https://foojayio.github.io/website/today/javafx-links-of-october/</link><pubDate>Mon, 31 Oct 2022 16:15:24 +0000</pubDate><guid>https://foojayio.github.io/website/today/javafx-links-of-october/</guid><description>&lt;p&gt;When I (re)started the JavaFX Links Of The Week on &lt;a href="https://www.jfx-central.com/home" target="_blank" rel="noopener noreferrer"&gt;jfx-central.com&lt;/a&gt;
 in September, I was wondering if there would be enough material to share every week.&lt;/p&gt;
&lt;p&gt;But that was a stupid mistake as you can see below in the summary of what happened in October&amp;hellip; 🙂&lt;/p&gt;
&lt;h2 id="h2-0-javafx-19-and-20"&gt;JavaFX 19 and 20&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;JavaFX 19 just got released a few weeks ago, but &lt;a href="https://twitter.com/johanvos" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Johan Vos&lt;/strong&gt;&lt;/a&gt;
 is already &lt;a href="https://twitter.com/johanvos/status/1575159889994911744?t=PJn2au0k_icq2qseeLVOXA&amp;amp;amp;s=09" target="_blank" rel="noopener noreferrer"&gt;looking forward&lt;/a&gt;
 to the next one: &lt;em&gt;a really-worth-mentioning improvement that will be in JavaFX 20 is the update to MarlinFX 0.9.4.6 by &lt;a href="https://twitter.com/laurent_bourges" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Laurent Bourgès&lt;/strong&gt;&lt;/a&gt;
. Thank you very much Laurent for your contributions. They are an important part to the success of JavaFX. See &lt;a href="https://bugs.openjdk.org/browse/JDK-8287604" target="_blank" rel="noopener noreferrer"&gt;JDK-8287604&lt;/a&gt;
.&lt;/em&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/users/bourgesl/projects/1/views/1" target="_blank" rel="noopener noreferrer"&gt;Laurent is even sharing his TODO list on GitHub&lt;/a&gt;
 in case you are curious about what he is working on&amp;hellip;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Want to test JavaFX 20 Early Access? It&amp;rsquo;s already &lt;a href="https://gluonhq.com/products/javafx/#ea" target="_blank" rel="noopener noreferrer"&gt;available on the &lt;strong&gt;Gluon&lt;/strong&gt; website&lt;/a&gt;
!&lt;/li&gt;
&lt;li&gt;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 &lt;a href="https://mail.openjdk.org/pipermail/openjfx-dev/2022-October/036089.html" target="_blank" rel="noopener noreferrer"&gt;was mentioned on the mailinglist&lt;/a&gt;
: &amp;ldquo;JavaFX 20 requires JDK 17 or later.&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/dlemmermann" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Dirk Lemmermann&lt;/strong&gt;&lt;/a&gt;
 shared &lt;a href="https://twitter.com/dlemmermann/status/1582021109423042562" target="_blank" rel="noopener noreferrer"&gt;a screenshot in a tweet&lt;/a&gt;
 of the &lt;a href="https://github.com/openjdk/jfx/pulls?q=is%3Apr&amp;#43;is%3Aopen&amp;#43;label%3Arfr" target="_blank" rel="noopener noreferrer"&gt;pull requests in the openjdk/jfx project&lt;/a&gt;
: &amp;ldquo;Wow, 47 pull requests &amp;ldquo;ready for review&amp;rdquo; in #OpenJFX. Looks like we have a traffic jam. Some several years old. Some ending with last comment &amp;ldquo;can you review this?&amp;rdquo; 🙂 Hope Oracle really does increase their #javafx team member count.&amp;rdquo;&lt;/li&gt;
&lt;li&gt;At JavaOne on October 20th, some JavaFX related announcements were made.
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://twitter.com/JavaFXpert/status/1583174188587589632" target="_blank" rel="noopener noreferrer"&gt;A tweet&lt;/a&gt;
 by &lt;a href="https://twitter.com/JavaFXpert" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;James Weaver&lt;/strong&gt;&lt;/a&gt;
: &amp;ldquo;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.&amp;rdquo;&lt;/li&gt;
&lt;li&gt;And a &lt;a href="https://www.linkedin.com/posts/btratra_java-javafx-openjdk-activity-6988940880757882880-s4RA?utm_source=share&amp;amp;amp;utm_medium=member_desktop" target="_blank" rel="noopener noreferrer"&gt;LinkedIn message&lt;/a&gt;
 by &lt;a href="https://twitter.com/BTraTra" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Bernard Traversat&lt;/strong&gt;&lt;/a&gt;
: &amp;ldquo;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.&amp;rdquo;&lt;/li&gt;
&lt;li&gt;So the latest JavaFX will not only be available on the &lt;a href="https://gluonhq.com/products/javafx/" target="_blank" rel="noopener noreferrer"&gt;Gluon website&lt;/a&gt;
, but also on &lt;a href="https://jdk.java.net/javafx20/" target="_blank" rel="noopener noreferrer"&gt;jdk.java.net/javafx20&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;Curious what the impact of this announcement will be and what we can share here next week&amp;hellip;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-1-scenebuilder"&gt;SceneBuilder&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://twitter.com/cpreisler" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Chad Preisler&lt;/strong&gt;&lt;/a&gt;
 shared &lt;a href="https://www.youtube.com/watch?v=auao5UNrUcg" target="_blank" rel="noopener noreferrer"&gt;a video showing how to create a form using SceneBuilder and JavaFX&lt;/a&gt;
, getting the form to resize the correct way.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/GluonHQ/" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Gluon&lt;/strong&gt;&lt;/a&gt;
 announced the release of &lt;strong&gt;Gluon Scene Builder 19&lt;/strong&gt; . You can get it from &lt;a href="https://github.com/gluonhq/scenebuilder/releases/tag/19.0.0" target="_blank" rel="noopener noreferrer"&gt;github.com/gluonhq/scenebuilder/releases&lt;/a&gt;
.
&lt;ul&gt;
&lt;li&gt;It incorporates JavaFX 19 wich brings lots of improvements, so you benefit &lt;a href="https://openjfx.io/highlights/19/" target="_blank" rel="noopener noreferrer"&gt;from all these release highlights&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/Raumzeitfalle/status/1578692849746718720?t=mNxAaRN22Frjkf6kTfGy-w&amp;amp;amp;s=09" target="_blank" rel="noopener noreferrer"&gt;This tweet shows a video&lt;/a&gt;
 of a bugfix on macOS where copy&amp;amp;paste often resulted in entries doubled after paste. A new preference setting &amp;ldquo;alternative paste behavior for text input&amp;rdquo; is available on macOS and is enabled by default.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-2-devoxx-belgium"&gt;Devoxx Belgium&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Devoxx Belgium (10-14 October) &lt;a href="https://twitter.com/Devoxx/status/1577934708100456448" target="_blank" rel="noopener noreferrer"&gt;thanks Gluon in a tweet&lt;/a&gt;
 for their continued support for the #OSS Devoxx mobile app. Sources of the DevoxxBadges JavaFX app &lt;a href="https://github.com/gluonhq/DevoxxBadges" target="_blank" rel="noopener noreferrer"&gt;are available on GitHub&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;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 &lt;a href="https://twitter.com/jugbodensee" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;@jugbodensee&lt;/strong&gt;&lt;/a&gt;
 members, with the support of Gluon, and the &lt;a href="https://github.com/TweetWallFX/TweetwallFX" target="_blank" rel="noopener noreferrer"&gt;sources are on GitHub&lt;/a&gt;
.
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://twitter.com/johanvos" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Johan Vos&lt;/strong&gt;&lt;/a&gt;
 shared a &lt;a href="https://twitter.com/johanvos/status/1580097937270788096" target="_blank" rel="noopener noreferrer"&gt;picture in a tweet&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;By the way (1), TweetwallFX has its own &lt;a href="https://twitter.com/TweetwallFX" target="_blank" rel="noopener noreferrer"&gt;Twitter account @TweetwallFX&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;By the way (2), the official &amp;ldquo;Devoxx&amp;rdquo; mobile app is also a JavaFX project, created by Gluon, that you can find &lt;a href="https://github.com/devoxx/MyDevoxxGluon" target="_blank" rel="noopener noreferrer"&gt;on GitHub&lt;/a&gt;
. Check the GitHub workflows to learn &lt;a href="https://github.com/devoxx/MyDevoxxGluon/tree/main/.github/workflows" target="_blank" rel="noopener noreferrer"&gt;more about how it is building and publishing to the Google and Apple stores&lt;/a&gt;
.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-3-various-news-from-the-web"&gt;Various news from &amp;ldquo;The Web&amp;rdquo;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://twitter.com/dlemmermann" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Dirk Lemmermann&lt;/strong&gt;&lt;/a&gt;
 announced &lt;a href="https://twitter.com/dlemmermann/status/1576974458761486338" target="_blank" rel="noopener noreferrer"&gt;in a tweet&lt;/a&gt;
 version 11.12.1 of CalendarFX with new views for displaying resource allocations, improved editing behaviour, plenty of fixes and enhancements. You can &lt;a href="https://github.com/dlsc-software-consulting-gmbh/CalendarFX" target="_blank" rel="noopener noreferrer"&gt;find it on GitHub&lt;/a&gt;
, and new link for the &lt;a href="https://dlsc-software-consulting-gmbh.github.io/CalendarFX/" target="_blank" rel="noopener noreferrer"&gt;documentation is here&lt;/a&gt;
.
&lt;ul&gt;
&lt;li&gt;Dirk also added a new custom control to &lt;a href="https://github.com/dlsc-software-consulting-gmbh/GemsFX" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;GemsFX&lt;/strong&gt;&lt;/a&gt;
 for displaying screens and windows of a JavaFX application, inspired by MacOS. For a screenshot, check &lt;a href="https://twitter.com/dlemmermann/status/1578426485299449857?t=bCzbA3BPMatyoQVM362l-A&amp;amp;amp;s=09" target="_blank" rel="noopener noreferrer"&gt;this tweet&lt;/a&gt;
 and a &lt;a href="https://www.youtube.com/watch?v=Kv7jo9fF9tc" target="_blank" rel="noopener noreferrer"&gt;demo is available on YouTube&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;He also announced release 11.12.2 of &lt;a href="https://www.jfx-central.com/libraries/calendarfx" target="_blank" rel="noopener noreferrer"&gt;CalendarFX&lt;/a&gt;
 with various bug fixes related to time zones and recurring entries.&lt;/li&gt;
&lt;li&gt;And he shared &lt;a href="https://www.youtube.com/watch?v=kwVXO0MdIdk" target="_blank" rel="noopener noreferrer"&gt;this video&lt;/a&gt;
 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.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/rladstaetter" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Robert Ladstätter&lt;/strong&gt;&lt;/a&gt;
 wanted to use JavaFX on a Windows aarch64 (virtual) machine, and &lt;a href="http://ladstatt.blogspot.com/2022/10/a-javafx-fanboy-forgets-about-his.html" target="_blank" rel="noopener noreferrer"&gt;described the process to build it from the sources&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/AlmasBaim/" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Almas Baim&lt;/strong&gt;&lt;/a&gt;
 shared &lt;a href="https://twitter.com/AlmasBaim/status/1576154186315882496" target="_blank" rel="noopener noreferrer"&gt;a video in a tweet&lt;/a&gt;
 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.
&lt;ul&gt;
&lt;li&gt;Related to FXGL: the book &lt;a href="https://www.jfx-central.com/books/fxgl17" target="_blank" rel="noopener noreferrer"&gt;&amp;ldquo;Learn JavaFX Game and App Development with FXGL 17&amp;rdquo;&lt;/a&gt;
 by &lt;a href="https://twitter.com/AlmasBaim/" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Almas Baim&lt;/strong&gt;&lt;/a&gt;
 got reviewed by &lt;a href="https://twitter.com/FrankDelporte" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Frank Delporte&lt;/strong&gt;&lt;/a&gt;
, read it on &lt;a href="https://foojayio.github.io/website/today/book-review-learn-javafx-game-and-app-development-with-fxgl-17/"&gt;foojay.io&lt;/a&gt;
.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/orango_mango" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;OrangoMango&lt;/strong&gt;&lt;/a&gt;
 shared a &lt;a href="https://github.com/OrangoMango/RubikCube" target="_blank" rel="noopener noreferrer"&gt;project to visualize and solve a Rubik&amp;rsquo;s Cube with JavaFX&lt;/a&gt;
, that is also available as an Android APK. It&amp;rsquo;s inspired by a &lt;a href="https://github.com/gluonhq/gluon-samples/tree/master/rubiks-cube" target="_blank" rel="noopener noreferrer"&gt;similar example created by Gluon&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/iAbhinay" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Abhinay Agarwal&lt;/strong&gt;&lt;/a&gt;
 shared a few very interesting JavaFX links:
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://edencoding.com/category/javafx/" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;edencoding.com&lt;/strong&gt;&lt;/a&gt;
 has the &amp;ldquo;Most vibrant collection of JavaFX articles I have come across recently. Kudos to &lt;a href="https://twitter.com/NerdyEden" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Ed Eden-Rump&lt;/strong&gt; AKA NerdyEden&lt;/a&gt;
.&amp;rdquo;&lt;/li&gt;
&lt;li&gt;A list created by &lt;strong&gt;Abhinay&lt;/strong&gt; himself with all the flags that might help you while debugging a JavaFX application on &lt;a href="https://abhinay.xyz/javafx/2022/10/03/OpenJFX-flags.html" target="_blank" rel="noopener noreferrer"&gt;&amp;ldquo;Flags for JavaFX application&amp;rdquo;&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/rladstaetter" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Robert Ladstätter&lt;/strong&gt;&lt;/a&gt;
 shared a &lt;a href="https://github.com/rladstaetter/javafx-advancedinstaller-example" target="_blank" rel="noopener noreferrer"&gt;HelloWorld example project on GitHub&lt;/a&gt;
 to show how to install a JavaFX app with a Windows Installer using &lt;a href="https://twitter.com/advinst" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Advanced Installer&lt;/strong&gt;&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/FrankDelporte" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Frank Delporte&lt;/strong&gt;&lt;/a&gt;
 spoke on Devoxx in Antwerp about &lt;a href="https://pi4j.com/" target="_blank" rel="noopener noreferrer"&gt;Pi4J&lt;/a&gt;
 and showed a JavaFX application running on a Raspberry Pi showing sensor data with the TilesFX library of &lt;a href="https://twitter.com/hansolo_" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Gerrit Grunwald&lt;/strong&gt;&lt;/a&gt;
: &lt;a href="https://www.youtube.com/watch?v=lnV0Hn2tias" target="_blank" rel="noopener noreferrer"&gt;recording of the presentation on YouTube&lt;/a&gt;
 and &lt;a href="https://webtechie.be/post/2022-10-10-devoxx-belgium-links/" target="_blank" rel="noopener noreferrer"&gt;links used in the presentation&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/P_Duke" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Pedro Duque Vieira&lt;/strong&gt;&lt;/a&gt;
 added two new controls to the FXComponents library:
&lt;ul&gt;
&lt;li&gt;BlockingProgressBar: &lt;a href="https://twitter.com/P_Duke/status/1580570179376816129" target="_blank" rel="noopener noreferrer"&gt;check the video example in this tweet&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;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 &lt;a href="https://twitter.com/P_Duke/status/1582732021448978433" target="_blank" rel="noopener noreferrer"&gt;in the video in this Tweet&lt;/a&gt;
.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/wiverson" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Will Iverson&lt;/strong&gt;&lt;/a&gt;
 updated his &lt;a href="https://github.com/wiverson/maven-jpackage-template" target="_blank" rel="noopener noreferrer"&gt;Java, JavaFX and Swing template for generating nice native installers for macOS, Windows and Ubuntu&lt;/a&gt;
 with a new single GitHub Action matrix script to generate all the installers w/nice human-friendly, matching version numbers.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/lanthale" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Clemens Lanthaler&lt;/strong&gt;&lt;/a&gt;
 released &lt;a href="https://www.jfx-central.com/real_world/photoslide" target="_blank" rel="noopener noreferrer"&gt;PhotoSlide 1.3&lt;/a&gt;
 with many small updates and fixes including new version of librawfx and libheiffx and updates to JDK19/Javafx19 with better Multi-Threading again.&lt;/li&gt;
&lt;li&gt;A &lt;a href="https://github.com/rladstaetter/LogoRRR/releases/tag/22.3.0" target="_blank" rel="noopener noreferrer"&gt;new release 22.3.0&lt;/a&gt;
 of LogoRRR - log file viewer - &lt;a href="https://twitter.com/logorrr/status/1581654374719557632" target="_blank" rel="noopener noreferrer"&gt;has been announced&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/WebFXProject" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;WebFX&lt;/strong&gt;&lt;/a&gt;
 - a JavaFX to JavaScript transpiler - can now access local files, as you can read on &lt;a href="https://github.com/webfx-project/webfx/discussions/14" target="_blank" rel="noopener noreferrer"&gt;this GitHub discussion&lt;/a&gt;
, with a &lt;a href="https://files.webfx.dev/" target="_blank" rel="noopener noreferrer"&gt;demo on files.webfx.dev&lt;/a&gt;
.
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://webfx.dev/#/demos" target="_blank" rel="noopener noreferrer"&gt;This new demo&lt;/a&gt;
 shows MediaView added to the JavaFX Media emulation, which means that WebFX can now display videos.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;On September 30, &lt;a href="https://twitter.com/gail_asgteach" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Gail Anderson&lt;/strong&gt;&lt;/a&gt;
 was speaking on IntelliJ IDEA Conference about &amp;ldquo;JavaFX for Mobile Development&amp;rdquo;. We promised here to share the link to the video when available, and &lt;a href="https://www.youtube.com/watch?v=-8epeIFdKWo&amp;amp;amp;t=14498s" target="_blank" rel="noopener noreferrer"&gt;here it is&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/SeanMiPhillips" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Sean Phillips&lt;/strong&gt;&lt;/a&gt;
 shared several videos with an impressive data visualization tool.
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://twitter.com/SeanMiPhillips/status/1584287746637828098" target="_blank" rel="noopener noreferrer"&gt;Arcing through decoded hyper-dimensional space using #Java and #JavaFX&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=NXHQY5Fh1Do" target="_blank" rel="noopener noreferrer"&gt;Trinity JavaFX 3D Convex Hull Generator&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/SeanMiPhillips/status/1584204309956202496" target="_blank" rel="noopener noreferrer"&gt;Hull Point Cloud using #JavaFX 3D&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/jjenkov" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Jakob Jenkov&lt;/strong&gt;&lt;/a&gt;
 asked &lt;a href="https://twitter.com/jjenkov/status/1584090714320695296" target="_blank" rel="noopener noreferrer"&gt;in this tweet with a lot of interesting replies&lt;/a&gt;
: &amp;ldquo;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&amp;rsquo;d like to see what the rest of you have too :-)&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-4-new-content-on-jfx-central-com"&gt;New content on jfx-central.com&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Real World App: &lt;a href="https://www.jfx-central.com/real_world/jabref" target="_blank" rel="noopener noreferrer"&gt;JabRef&lt;/a&gt;
 is an open-source, cross-platform citation and reference management tool, see &lt;a href="https://www.jabref.org/" target="_blank" rel="noopener noreferrer"&gt;jabref.org&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;Tool: &lt;a href="https://www.jfx-central.com/tools/conveyor" target="_blank" rel="noopener noreferrer"&gt;&amp;ldquo;Conveyor&amp;rdquo;&lt;/a&gt;
 by &lt;a href="https://twitter.com/HydraulicCorp" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Hydraulic&lt;/strong&gt;&lt;/a&gt;
, is an alternative/replacement for the jpackage tool but with support for (background) updates, signing, notarisation.&lt;/li&gt;
&lt;li&gt;Another library by &lt;a href="https://twitter.com/P_Duke" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Pedro Duque Vieira&lt;/strong&gt;&lt;/a&gt;
: &lt;a href="https://www.jfx-central.com/libraries/fxparallax" target="_blank" rel="noopener noreferrer"&gt;FXParallax&lt;/a&gt;
. This framework adds controls to add Parallax effects to JavaFX application, this effect can add a sense of depth (3D like) to where it&amp;rsquo;s used.&lt;/li&gt;
&lt;li&gt;Coming soon&amp;hellip; &lt;a href="https://twitter.com/FlorianKirmaier" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Florian Kirmaier&lt;/strong&gt;&lt;/a&gt;
 is pimping the jfx-central website to make it much faster very soon. Due to the architecture of &lt;a href="https://www.jpro.one/" target="_blank" rel="noopener noreferrer"&gt;jpro.one&lt;/a&gt;
, scrolling in a ScrollPane requires server calls (as the JavaFX app lives on the server). A custom skin, should bring a solution&amp;hellip;&lt;/li&gt;
&lt;li&gt;People: the work of &lt;a href="https://twitter.com/jan_gassen" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Jan Gassen&lt;/strong&gt;&lt;/a&gt;
 is listed on &lt;a href="https://www.jfx-central.com/people/j.gassen" target="_blank" rel="noopener noreferrer"&gt;this page&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;Library: &lt;a href="https://www.jfx-central.com/libraries/nsmenufx" target="_blank" rel="noopener noreferrer"&gt;NSMenuFX&lt;/a&gt;
, by Jan Gassen, a simple library to customize the macOS menu bar to give your JavaFX app a more native look and feel.&lt;/li&gt;
&lt;li&gt;Tips: &lt;a href="https://www.jfx-central.com/tips/application_flags" target="_blank" rel="noopener noreferrer"&gt;Flags for JavaFX applications&lt;/a&gt;
 to either add debug logs or switch configuration.&lt;/li&gt;
&lt;li&gt;Blogs: &lt;a href="https://www.jfx-central.com/blogs/abhinay.xyz" target="_blank" rel="noopener noreferrer"&gt;abhinay.xyz&lt;/a&gt;
 by &lt;a href="https://twitter.com/iAbhinay" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Abhinay Agarwal&lt;/strong&gt;&lt;/a&gt;
 about things good to know about JavaFX.&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Book review: Learn JavaFX Game Development with FXGL 17</title><link>https://foojayio.github.io/website/today/book-review-learn-javafx-game-and-app-development-with-fxgl-17/</link><pubDate>Wed, 19 Oct 2022 07:20:32 +0000</pubDate><guid>https://foojayio.github.io/website/today/book-review-learn-javafx-game-and-app-development-with-fxgl-17/</guid><description>&lt;p&gt;This summer, I read the book &lt;a href="https://entreprenerd.lowagie.com/" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;&amp;ldquo;Entreprenerd&amp;rdquo;&lt;/strong&gt; by &lt;strong&gt;Bruno Lowagie&lt;/strong&gt;&lt;/a&gt;
. It tells the story of how he started with the &lt;a href="https://itextpdf.com/" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;iText&lt;/strong&gt; PDF Java library&lt;/a&gt;
 and turned that into a company together with his wife, and eventually sold it with all problems related to most sales and acquisitions trajects&amp;hellip;&lt;/p&gt;
&lt;p&gt;In &amp;ldquo;Entreprenerd,&amp;rdquo; he also describes the process of writing two books about the iText library itself, as there were no good manuals available, and he wanted to liberate himself from the ever-returning same questions.&lt;/p&gt;</description></item><item><title>JavaFX Links of September</title><link>https://foojayio.github.io/website/today/javafx-news-september-2022/</link><pubDate>Fri, 30 Sep 2022 08:58:10 +0000</pubDate><guid>https://foojayio.github.io/website/today/javafx-news-september-2022/</guid><description>&lt;p&gt;The JavaFX links of the week are back on &lt;a href="https://www.jfx-central.com/home" target="_blank" rel="noopener noreferrer"&gt;jfx-central.com&lt;/a&gt;
, and here we collect the complete month for you in an excellent overview.&lt;/p&gt;
&lt;h2 id="h2-0-javafx-19-is-released"&gt;JavaFX 19 is released&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;On the JavaFX mailinglist this thrilling message appeared: &amp;ldquo;Create release notes for JavaFX 19.&amp;rdquo; And yes, they are &lt;a href="https://github.com/openjdk/jfx/blob/205b7211bde0e468e81a135fe37952b7f2b11d45/doc-files/release-notes-19.md" target="_blank" rel="noopener noreferrer"&gt;available now on GitHub&lt;/a&gt;
!&lt;/li&gt;
&lt;li&gt;If you want to keep following what&amp;rsquo;s happening inside the JavaFX community, you can suscribe to the mailinglist via &lt;a href="https://mail.openjdk.org/mailman/listinfo/openjfx-dev" target="_blank" rel="noopener noreferrer"&gt;mail.openjdk.org/mailman/listinfo/openjfx-dev&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;As with previous releases, the JavaFX community once again succeeded in keeping the 6-months release cycle going on, with a long list of improvements and fixes! The highlights of this release can be found on &lt;a href="https://openjfx.io/highlights/19/" target="_blank" rel="noopener noreferrer"&gt;openjfx.io/highlights/19&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;JavaDoc for JavaFX 19 is available at &lt;a href="https://openjfx.io/javadoc/19/" target="_blank" rel="noopener noreferrer"&gt;openjfx.io/javadoc/19&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;An interesting read on InfoWorld lists some of the highlights of JavaFX 19: &lt;a href="https://www.infoworld.com/article/3673888/javafx-19-rich-client-java-platform-arrives.html" target="_blank" rel="noopener noreferrer"&gt;&amp;ldquo;JavaFX 19 rich client Java platform arrives&amp;rdquo;&lt;/a&gt;
 by &lt;a href="https://twitter.com/pjkrill" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Paul Krill&lt;/strong&gt;&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/GluonHQ/status/1569648445157146626" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Gluon&lt;/strong&gt; tweeted&lt;/a&gt;
 an update of the JavaFX roadmap on &lt;a href="https://gluonhq.com/products/javafx/" target="_blank" rel="noopener noreferrer"&gt;gluonhq.com/products/javafx&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/johanvos" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Johan Vos&lt;/strong&gt;&lt;/a&gt;
 added &lt;a href="https://twitter.com/johanvos/status/1569682888915836928" target="_blank" rel="noopener noreferrer"&gt;the message&lt;/a&gt;
: &amp;ldquo;&lt;em&gt;We did our first JavaFX release in September 2018 (JavaFX 11). We planned a 6-months cadence, similar to the JDK releases. Four years later, we still keep the train moving forward. It takes blood, sweat and tears, but seeing what developers are doing with JavaFX makes it worth.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;With &lt;a href="https://twitter.com/errcraft/status/1569727660032692230" target="_blank" rel="noopener noreferrer"&gt;a very nice reply&lt;/a&gt;
 of &lt;a href="https://twitter.com/errcraft" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;James Gosling&lt;/strong&gt;&lt;/a&gt;
 (the &lt;a href="https://en.wikipedia.org/wiki/James_Gosling" target="_blank" rel="noopener noreferrer"&gt;father of Java!&lt;/a&gt;
): &amp;ldquo;&lt;em&gt;Wonderful! I&amp;rsquo;m a happy JavaFX user. Thanks for all the wonderful work you do.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-1-news-from-the-web"&gt;News from &amp;ldquo;The Web&amp;rdquo;&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Pavlo Iatsiuk&lt;/strong&gt; announced the first release of DynamoIt &amp;mdash; a JavaFX GUI client application for AWS DynamoDB - &lt;a href="https://www.reddit.com/r/JavaFX/comments/xbdi2u/the_first_release_of_dynamoit_gui_client_for_aws/" target="_blank" rel="noopener noreferrer"&gt;on Reddit&lt;/a&gt;
.
&lt;ul&gt;
&lt;li&gt;You can find the release &lt;a href="https://github.com/bykka/dynamoit/releases/tag/1.0.0" target="_blank" rel="noopener noreferrer"&gt;on GitHub&lt;/a&gt;
.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/rladstaetter" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Robert Ladstätter&lt;/strong&gt;&lt;/a&gt;
 announced the 1000th download of LogoRRR, another JavaFX GUI application!
&lt;ul&gt;
&lt;li&gt;This is the &lt;a href="https://twitter.com/logorrr/status/1569565540657647616?t=S5FvS5QpVKCi1KWrME09JA&amp;amp;amp;s=09" target="_blank" rel="noopener noreferrer"&gt;Twitter announcement&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;The LogoRRR releases can be found &lt;a href="https://github.com/rladstaetter/LogoRRR/releases" target="_blank" rel="noopener noreferrer"&gt;on GitHub&lt;/a&gt;
.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/dlemmermann" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Dirk Lemmermann&lt;/strong&gt;&lt;/a&gt;
 (of all people&amp;hellip;!) got frustrated &lt;a href="https://twitter.com/dlemmermann/status/1568221800789835777" target="_blank" rel="noopener noreferrer"&gt;in this Tweet&lt;/a&gt;
 that he once again had to prove &amp;ldquo;No, JavaFX is not dead&amp;rdquo;.
&lt;ul&gt;
&lt;li&gt;Let&amp;rsquo;s all help him in proving a lot of amazing stuff is happening with JavaFX by sharing your project! All contributions are welcome via &lt;a href="https://twitter.com/jfxcentral" target="_blank" rel="noopener noreferrer"&gt;@jfxcentral on Twitter&lt;/a&gt;
 or a contribution to the jfx-central website &lt;a href="https://github.com/dlsc-software-consulting-gmbh/jfxcentral-data" target="_blank" rel="noopener noreferrer"&gt;on GitHub&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;Dirk also announced &lt;a href="https://twitter.com/dlemmermann/status/1569721829572448256" target="_blank" rel="noopener noreferrer"&gt;in a tweet&lt;/a&gt;
 that CalendarFX will get a whole new suite of controls for displaying &amp;ldquo;resource&amp;rdquo; / &amp;ldquo;resource allocations&amp;rdquo;.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/P_Duke" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Pedro Duque Vieira&lt;/strong&gt;&lt;/a&gt;
 released a new version of JMetro, a JavaFX theme composed by a set of controls, stylesheets and skins, inspired by the Fluent Design System and adapted to fit the JavaFX SDK. There are also changes that have been made according to Pedro&amp;rsquo;s opinions on some of Fluent Design&amp;rsquo;s particularities.
&lt;ul&gt;
&lt;li&gt;See the &lt;a href="https://pixelduke.com/2022/09/08/jmetro-version-11-6-16-released/" target="_blank" rel="noopener noreferrer"&gt;Release Notes&lt;/a&gt;
 or &lt;a href="https://github.com/JFXtras/jfxtras-styles" target="_blank" rel="noopener noreferrer"&gt;sources&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;More info on &lt;a href="https://pixelduke.com/java-javafx-theme-jmetro/" target="_blank" rel="noopener noreferrer"&gt;pixelduke.com/java-javafx-theme-jmetro&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;Pedro also tweeted that he is working on a new controls library, soon to be released. &lt;a href="https://twitter.com/P_Duke/status/1572593466286428161" target="_blank" rel="noopener noreferrer"&gt;It shows a video of the ListBuilder control with support for drag and dropping of cells&lt;/a&gt;
.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;An &lt;a href="https://github.com/wiverson/maven-jpackage-template/issues/75" target="_blank" rel="noopener noreferrer"&gt;interesting discussion in the GitHub
maven-jpackage-template project&lt;/a&gt;
 - a project by &lt;a href="https://twitter.com/wiverson" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Will Iverson&lt;/strong&gt;&lt;/a&gt;
 to provide a template project for native desktop applications. Seems there is often a request for a Spring Boot UI template. Let&amp;rsquo;s keep an eye on this &amp;ldquo;BootFX idea&amp;rdquo; that could be a using the JavaFX embedded web browser.&lt;/li&gt;
&lt;li&gt;Friday 30th of September, &lt;a href="https://twitter.com/gail_asgteach" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Gail Anderson&lt;/strong&gt;&lt;/a&gt;
 is speaking on &lt;a href="https://pages.jetbrains.com/intellij-idea-conf-2022" target="_blank" rel="noopener noreferrer"&gt;IntelliJ IDEA Conference&lt;/a&gt;
 about &amp;ldquo;JavaFX for Mobile Development&amp;rdquo;. A preview is available on &lt;a href="https://www.youtube.com/watch?v=w4gn_wgaGng" target="_blank" rel="noopener noreferrer"&gt;YouTube&lt;/a&gt;
, hopefully we can share the recording here next time.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/SerendigityInfo" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Serendipity&lt;/strong&gt;&lt;/a&gt;
 announced on Twitter &lt;a href="https://twitter.com/SerendigityInfo/status/1573611549335457793" target="_blank" rel="noopener noreferrer"&gt;SmartFinder 1.5.3&lt;/a&gt;
, the first app published on Apple Store with Java 19 and JavaFX 19!&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/WebFXProject" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;WebFX&lt;/strong&gt;&lt;/a&gt;
 - a JavaFX to JavaScript transpiler - announced a &lt;a href="https://demofx.webfx.dev/" target="_blank" rel="noopener noreferrer"&gt;new demo on their website&lt;/a&gt;
, based on the excellent &lt;a href="https://github.com/chriswhocodes/DemoFX" target="_blank" rel="noopener noreferrer"&gt;DemoFX library&lt;/a&gt;
 by &lt;a href="https://twitter.com/chriswhocodes" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Chris Newman&lt;/strong&gt;&lt;/a&gt;
. The demo starts with an introductory animation, asking to click in order to play the actual demo, because in the browser sandbox, playing sound is not permitted before interacting with the user. The resulted demo is just one single java source file. Warning, looking at the demo for too long time can cause brain damage or hypnosis 😉&lt;/li&gt;
&lt;li&gt;The demos of the visual modeler, written in JavaFX and integrating OpenCV, by &lt;a href="https://twitter.com/Alessio_Vinerbi" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Alessio Vinerbi&lt;/strong&gt;&lt;/a&gt;
 are really amazing. Look at &lt;a href="https://twitter.com/Alessio_Vinerbi/status/1573971580409061376" target="_blank" rel="noopener noreferrer"&gt;the video in this tweet&lt;/a&gt;
 where he modifies two videos on the fly with different visual effects.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-2-javafx-jobs"&gt;JavaFX Jobs&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://twitter.com/hendrikEbbers" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Hendrik Ebbers&lt;/strong&gt;&lt;/a&gt;
 is &lt;a href="https://twitter.com/hendrikEbbers/status/1570026452355096576" target="_blank" rel="noopener noreferrer"&gt;looking for a developer&lt;/a&gt;
 to work on a crypto desktop application.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-3-new-content-on-jfx-central-com"&gt;New content on jfx-central.com&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;FXSkins and FXRibbon by &lt;a href="https://twitter.com/P_Duke" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Pedro Duque Vieira&lt;/strong&gt;&lt;/a&gt;
 were added to the Libraries on jfx-central.com, see &lt;a href="https://www.jfx-central.com/people/p.vieira" target="_blank" rel="noopener noreferrer"&gt;Pedro&amp;rsquo;s profile&lt;/a&gt;
.&lt;/li&gt;
&lt;li&gt;New Real World App: &lt;a href="https://twitter.com/wrapperrfid" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;WrapperRFID&lt;/strong&gt;&lt;/a&gt;
, a 3-layer software solution, using a JavaFX application as the user interface, used to control the loading and unloading of products by one of the largest retailers in Brazil, &lt;a href="https://www.jfx-central.com/real_world/wrapperrfid" target="_blank" rel="noopener noreferrer"&gt;more info on jfx-central.com&lt;/a&gt;
.&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>New Book: FXGL 17 -- Learn JavaFX Game and App Development</title><link>https://foojayio.github.io/website/today/new-book-fxgl-17-learn-javafx-game-and-app-development/</link><pubDate>Mon, 19 Sep 2022 11:39:12 +0000</pubDate><guid>https://foojayio.github.io/website/today/new-book-fxgl-17-learn-javafx-game-and-app-development/</guid><description>&lt;p&gt;This is an announcement of the FXGL 17 book. This book is for beginners in Java and/or JavaFX who wish to develop apps and games with FXGL, while improving Java and JavaFX skills.&lt;/p&gt;
&lt;p&gt;This book is also suitable for experienced developers who wish to learn how to use FXGL.&lt;/p&gt;
&lt;p&gt;Lastly, game developers familiar with Unity, Unreal Engine or Godot who wish to learn Java and JavaFX will find this book useful.&lt;/p&gt;</description></item><item><title>Wordish with JavaFX - Part 5</title><link>https://foojayio.github.io/website/today/wordish-with-javafx-part-5/</link><pubDate>Tue, 14 Jun 2022 07:25:37 +0000</pubDate><guid>https://foojayio.github.io/website/today/wordish-with-javafx-part-5/</guid><description>&lt;p&gt;Welcome to Part 5 and the final installment of this series.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;In &lt;a href="https://foojayio.github.io/website/today/wordish-with-javafx-part-1/"&gt;Part 1&lt;/a&gt;
, we introduced the Wordish game with JavaFX and discussed the main UI layout.&lt;/li&gt;
&lt;li&gt;In &lt;a href="https://foojayio.github.io/website/today/wordish-with-javafx-part-2/"&gt;Part 2&lt;/a&gt;
, we discussed look and feel enhancements. We introduced specialized Label and Button controls that use pseudo-classes for advanced CSS styling. In addition, we covered incorporating third-party font libraries and customizing Scene Builder to leverage these features.&lt;/li&gt;
&lt;li&gt;Next, in &lt;a href="https://foojayio.github.io/website/today/wordish-with-javafx-part-3/"&gt;Part 3&lt;/a&gt;
, we explored the controller code that maintains game state and responds to user input with appropriate updates to the UI.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://foojayio.github.io/website/today/wordish-with-javafx-part-4/"&gt;Part 4&lt;/a&gt;
, &lt;strong&gt;What&amp;rsquo;s in a Word, Anyway?&lt;/strong&gt;, examines how we get our words and how we determine if a submitted word is valid.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;And now in Part 5, we turn to JavaFX charts, showing how to customize charts with orientation and colors and how to add nodes to the chart scene graph.&lt;/p&gt;</description></item><item><title>Wordish with JavaFX - Part 4 : Foojay</title><link>https://foojayio.github.io/website/today/wordish-with-javafx-part-4/</link><pubDate>Tue, 07 Jun 2022 09:23:47 +0000</pubDate><guid>https://foojayio.github.io/website/today/wordish-with-javafx-part-4/</guid><description>&lt;p&gt;Welcome to Part 4 of this five part series.&lt;/p&gt;
&lt;p&gt;In &lt;a href="https://foojayio.github.io/website/today/wordish-with-javafx-part-1/"&gt;Part 1&lt;/a&gt;
, we introduced the Wordish game with JavaFX and discussed the main UI layout.&lt;/p&gt;
&lt;p&gt;In &lt;a href="https://foojayio.github.io/website/today/wordish-with-javafx-part-2/"&gt;Part 2&lt;/a&gt;
, we discussed look and feel enhancements.&lt;/p&gt;
&lt;p&gt;We introduced specialized Label and Button controls that use pseudo-classes for advanced CSS styling.&lt;/p&gt;
&lt;p&gt;We covered incorporating third-party font libraries and customizing Scene Builder to leverage these features.&lt;/p&gt;
&lt;p&gt;Next, in &lt;a href="https://foojayio.github.io/website/today/wordish-with-javafx-part-3/"&gt;Part 3&lt;/a&gt;
, we explored the controller code that maintains game state and responds to user input with appropriate updates to the UI.&lt;/p&gt;</description></item><item><title>Wordish with JavaFX - Part 3</title><link>https://foojayio.github.io/website/today/wordish-with-javafx-part-3/</link><pubDate>Tue, 31 May 2022 07:23:02 +0000</pubDate><guid>https://foojayio.github.io/website/today/wordish-with-javafx-part-3/</guid><description>&lt;p&gt;Welcome to Part 3 of this five part series.&lt;/p&gt;
&lt;p&gt;In &lt;a href="https://foojayio.github.io/website/today/wordish-with-javafx-part-1/"&gt;Part 1&lt;/a&gt;
, we introduced the Wordish game with JavaFX and discussed the main UI layout.&lt;/p&gt;
&lt;p&gt;In &lt;a href="https://foojayio.github.io/website/today/wordish-with-javafx-part-2/"&gt;Part 2&lt;/a&gt;
, we discussed look and feel enhancements.&lt;/p&gt;
&lt;p&gt;We introduced specialized Label and Button controls that use pseudo-classes for advanced CSS styling.&lt;/p&gt;
&lt;p&gt;We covered incorporating third-party font libraries and customizing Scene Builder to leverage these features.&lt;/p&gt;
&lt;p&gt;Now in Part 3, we&amp;rsquo;ll examine the controller code. The controller code maintains game state and responds to user input with appropriate updates to the UI.&lt;/p&gt;</description></item><item><title>Wordish with JavaFX - Part 2</title><link>https://foojayio.github.io/website/today/wordish-with-javafx-part-2/</link><pubDate>Tue, 24 May 2022 07:50:54 +0000</pubDate><guid>https://foojayio.github.io/website/today/wordish-with-javafx-part-2/</guid><description>&lt;h2 id="h2-0-building-games-and-having-fun-with-java-and-javafx"&gt;Building Games and Having Fun with Java and JavaFX&lt;/h2&gt;
&lt;p&gt;Welcome to Part 2 of this five part series!&lt;/p&gt;
&lt;p&gt;In &lt;a href="https://foojayio.github.io/website/today/wordish-with-javafx-part-1/"&gt;Part 1&lt;/a&gt;
, we introduced the Wordish game with JavaFX and discussed the main UI layout.&lt;/p&gt;
&lt;p&gt;In this second part, we&amp;rsquo;ll discuss some important look and feel enhancements.&lt;/p&gt;
&lt;p&gt;We&amp;rsquo;ll show you specialized Label and Button controls and using pseudo-classes for advanced CSS styling.&lt;/p&gt;
&lt;p&gt;We&amp;rsquo;ll also cover incorporating third-party font libraries and customizing Scene Builder to leverage these features.&lt;/p&gt;</description></item><item><title>Wordish with JavaFX - Part 1</title><link>https://foojayio.github.io/website/today/wordish-with-javafx-part-1/</link><pubDate>Tue, 17 May 2022 10:13:21 +0000</pubDate><guid>https://foojayio.github.io/website/today/wordish-with-javafx-part-1/</guid><description>&lt;h2 id="h2-0-building-games-and-having-fun-with-java-and-javafx"&gt;Building Games and Having Fun with Java and JavaFX&lt;/h2&gt;
&lt;p&gt;Wordish is a JavaFX implementation of the game Wordle. It&amp;rsquo;s like Wordle. It is Wordle-ish. It&amp;rsquo;s Wordish.
&lt;img src="https://foojayio.github.io/website/today/wordish-with-javafx-part-1/playgame5-308x510.png" alt="" loading="lazy"&gt;
 Figure 1. Wordish main layout view&lt;/p&gt;
&lt;p&gt;Wordle is a daily online word game. You can play the official Wordle game here:&lt;a href="https://www.nytimes.com/games/wordle/index.html" target="_blank" rel="noopener noreferrer"&gt;https://www.nytimes.com/games/wordle/index.html&lt;/a&gt;
. If you haven&amp;rsquo;t played yet, go check it out.&lt;/p&gt;
&lt;p&gt;As I played Wordle, I realized how much fun it would be to create a JavaFX implementation. When you submit a word, each tile rotates to reveal how the individual letter matches &amp;ndash; or doesn&amp;rsquo;t match &amp;ndash; the target word. &lt;em&gt;(Ooh, animation!)&lt;/em&gt;&lt;/p&gt;</description></item><item><title>Template to Get Started with Pi4J and JavaFX on Raspberry Pi</title><link>https://foojayio.github.io/website/today/template-to-get-started-with-pi4j-and-javafx-on-raspberry-pi/</link><pubDate>Thu, 13 Jan 2022 12:07:26 +0000</pubDate><guid>https://foojayio.github.io/website/today/template-to-get-started-with-pi4j-and-javafx-on-raspberry-pi/</guid><description>&lt;p&gt;The Pi4J project wants to be the starting point for everyone who wants to use Java on the Raspberry Pi, being it a headless, JavaFX-user interface and/or GPIO-controller project.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Pi4J is intended to provide &lt;strong&gt;a friendly object-oriented I/O API and implementation libraries for Java Programmers&lt;/strong&gt; to access the &lt;strong&gt;full I/O capabilities of the Raspberry Pi platform&lt;/strong&gt; . This project abstracts the low-level native integration and interrupt monitoring to enable Java programmers to &lt;strong&gt;focus on implementing their application business logic&lt;/strong&gt;.&lt;/p&gt;</description></item><item><title>FXGL Game Engine 17 Released</title><link>https://foojayio.github.io/website/today/fxgl-game-engine-17-released/</link><pubDate>Mon, 03 Jan 2022 10:43:05 +0000</pubDate><guid>https://foojayio.github.io/website/today/fxgl-game-engine-17-released/</guid><description>&lt;p&gt;&lt;a href="https://github.com/AlmasB/FXGL/releases/tag/17" target="_blank" rel="noopener noreferrer"&gt;Version 17&lt;/a&gt;
 of the FXGL game engine brings a number of improvements in many areas. Key changes include:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;FXGL source is now built with Java 17 and JavaFX 17.&lt;/li&gt;
&lt;li&gt;The changelog is now automatically generated from commits.&lt;/li&gt;
&lt;li&gt;Animated textures (sprite sheet animations) are now driven by the unified FXGL system, meaning you can use interpolators, play in reverse and many other supported features.&lt;/li&gt;
&lt;li&gt;3D skybox implementation.&lt;/li&gt;
&lt;li&gt;DialogueContext object for storing data that is local to the context in which the dialogue is being run.&lt;/li&gt;
&lt;li&gt;Improvements to avoid various crashes on the Raspberry Pi.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-0-auto-generated-changelog"&gt;Auto-generated Changelog&lt;/h2&gt;
&lt;p&gt;The full changelog is given below.&lt;/p&gt;</description></item><item><title>JDKMon 17.0.17 Released</title><link>https://foojayio.github.io/website/today/jdkmon-17-0-17-released/</link><pubDate>Wed, 08 Dec 2021 09:11:22 +0000</pubDate><guid>https://foojayio.github.io/website/today/jdkmon-17-0-17-released/</guid><description>&lt;p&gt;JDKMon is a little tool written in JavaFX that tries to detect all OpenJDK distributions installed on your machine and keep track of updates for those distributions.&lt;/p&gt;
&lt;p&gt;It will scan for new updates every three hours and will inform you about available updates. JDKMon won&amp;rsquo;t install the distributions on your machine but will only enable you to download them to a place of your choice.&lt;/p&gt;
&lt;p&gt;At the moment the following distributions are supported:&lt;/p&gt;</description></item><item><title>JavaFX Templates for Desktop Applications</title><link>https://foojayio.github.io/website/today/javafx-templates-for-desktop-applications/</link><pubDate>Fri, 15 Oct 2021 08:48:16 +0000</pubDate><guid>https://foojayio.github.io/website/today/javafx-templates-for-desktop-applications/</guid><description>&lt;p&gt;Here on Foojay we already talked about JavaFX write-once-run-everywhere applications and how they can be created on GitHub with Gluon and GraalVM:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://foojayio.github.io/website/today/creating-mobile-apps-with-javafx-part-1/"&gt;Creating Mobile Apps with JavaFX&lt;/a&gt;
 by Gail Anderson&lt;/li&gt;
&lt;li&gt;&lt;a href="https://foojayio.github.io/website/today/cross-platform-development-in-java-with-gluon-and-graalvm/"&gt;Cross-Platform Development in Java with Gluon and GraalVM&lt;/a&gt;
 by Bruno Lowagie&lt;/li&gt;
&lt;li&gt;&lt;a href="https://foojayio.github.io/website/today/native-applications-for-multiple-devices-from-a-single-javafx-project-with-gluon-mobile-and-github-actions/"&gt;Native Applications for Multiple Devices from a Single JavaFX Project with Gluon Mobile and GitHub Actions&lt;/a&gt;
 by myself&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;In this post, we are going to take a look at other different approaches.&lt;/p&gt;</description></item><item><title>Getting Started with Java 17 on the Raspberry Pi</title><link>https://foojayio.github.io/website/today/java-17-on-the-raspberry-pi/</link><pubDate>Sat, 25 Sep 2021 13:56:53 +0000</pubDate><guid>https://foojayio.github.io/website/today/java-17-on-the-raspberry-pi/</guid><description>&lt;p&gt;As part of the &lt;a href="https://foojayio.github.io/website/today/schedule-for-foojay-virtual-openjdk-17-jug-tour/"&gt;Foojay Virtual OpenJDK 17+ JUG Tour&lt;/a&gt;
, I was asked to present the state of Java and JavaFX 17 on the Raspberry Pi.&lt;/p&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;p&gt;So, a perfect opportunity to freshen up my &lt;a href="https://twitter.com/hashtag/JavaOnRaspberryPi" target="_blank" rel="noopener noreferrer"&gt;#JavaOnRaspberryPi&lt;/a&gt;
 presentation with some hot-off-the-press versions.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;strong&gt;UPDATE 2021-08-30: the recording of the presentation has been published on YouTube.&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;
&lt;div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;"&gt;
			&lt;iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube.com/embed/m4mP140npqc?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video"&gt;&lt;/iframe&gt;
		&lt;/div&gt;

&lt;p&gt;In the past, I have been experimenting with Java 16 on the Raspberry Pi (see &amp;ldquo;&lt;a href="https://foojayio.github.io/website/today/building-openjdk-from-github-sources-on-64-bit-raspberry-pi/"&gt;Building OpenJDK from GitHub Sources on 64-bit Raspberry Pi&lt;/a&gt;
&amp;rdquo;) but now that version 17 is waiting around the corner, it&amp;rsquo;s time to prepare our Raspberry Pi for the upcoming new &amp;ldquo;long-term-supported&amp;rdquo; (LTS) version.&lt;/p&gt;</description></item><item><title>Announcement: FXGL Game Engine 11.17 Release</title><link>https://foojayio.github.io/website/today/fxgl-game-engine-11-17-release/</link><pubDate>Tue, 20 Jul 2021 11:23:27 +0000</pubDate><guid>https://foojayio.github.io/website/today/fxgl-game-engine-11-17-release/</guid><description>&lt;p&gt;The &lt;a href="https://github.com/AlmasB/FXGL" target="_blank" rel="noopener noreferrer"&gt;FXGL game engine&lt;/a&gt;
 is now at 11.17. Most of the changes in this release focus on internal code quality and fixes.&lt;/p&gt;
&lt;p&gt;Major additions to note:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Added download file API to NetService. Using this API developers can download files from any URL. For example, if certain assets are stored remotely.&lt;/li&gt;
&lt;li&gt;Rotation and scale in 3D now support origin points (pivot points). This is a beneficial addition since some animations will need specific origin points for transformations to achieve the desired effect.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Other minor changes include:&lt;/p&gt;</description></item><item><title>How To Get Your JDK As Easily As Possible!</title><link>https://foojayio.github.io/website/today/get-your-jdk-as-easily-as-possible/</link><pubDate>Tue, 20 Jul 2021 07:00:31 +0000</pubDate><guid>https://foojayio.github.io/website/today/get-your-jdk-as-easily-as-possible/</guid><description>&lt;p&gt;Have you ever been in the situation where you&amp;rsquo;ve been looking for a specific JDK version of a specific distribution? I think most of us have been there and, I don&amp;rsquo;t know how you handle this, but in the past I used to save links to distributions in my browser and then I usually I started searching through the vendor website for the package I was looking for.&lt;/p&gt;
&lt;p&gt;Sometimes that was easy&amp;hellip; sometimes it was hard&amp;hellip; but it never was fun. And if you&amp;rsquo;re used to working with JavaFX, the whole thing got even harder when JDK 11 came out and JavaFX was not bundled with the distribution any longer.&lt;/p&gt;</description></item><item><title>Learn JShell with JavaFX in Only 60 Seconds</title><link>https://foojayio.github.io/website/today/learn-javafx-with-jshell-in-60-seconds/</link><pubDate>Mon, 12 Jul 2021 10:54:56 +0000</pubDate><guid>https://foojayio.github.io/website/today/learn-javafx-with-jshell-in-60-seconds/</guid><description>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Spoon boy&lt;/strong&gt; : Do not try and bend the spoon. That&amp;rsquo;s impossible. Instead&amp;hellip; only try to realize the truth.&lt;br&gt;
&lt;strong&gt;Neo&lt;/strong&gt; : What truth?&lt;br&gt;
&lt;strong&gt;Spoon boy&lt;/strong&gt; : There is no spoon.&lt;br&gt;
&lt;strong&gt;Neo&lt;/strong&gt; : There is no spoon?&lt;br&gt;
&lt;strong&gt;Spoon boy&lt;/strong&gt; : Then you&amp;rsquo;ll see, that it is not the spoon that bends, it is only yourself.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&amp;ndash; The Matrix, a conversation between Neo and Spoon boy.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://foojayio.github.io/website/today/learn-javafx-with-jshell-in-60-seconds/matrix-rain-effect.gif" alt="Matrix Rain Code Effect" loading="lazy"&gt;
&lt;/p&gt;
&lt;p&gt;In the classic science fiction movie, The Matrix, there&amp;rsquo;s a cool special effect better known as the &lt;em&gt;falling&lt;/em&gt; or &lt;em&gt;raining green code&lt;/em&gt; effect. In &lt;a href="https://youtu.be/MvEXkd3O2ow?t=27" title="one scene" target="_blank" rel="noopener noreferrer"&gt;one scene&lt;/a&gt;
 the character named &lt;strong&gt;&amp;lsquo;Cypher&amp;rsquo;&lt;/strong&gt; played by &lt;a href="https://www.imdb.com/name/nm0001592/" title="Joe Pantoliano" target="_blank" rel="noopener noreferrer"&gt;Joe Pantoliano&lt;/a&gt;
 explains how they can monitor activity inside the &lt;strong&gt;matrix&lt;/strong&gt; by looking at the patterns as the code rains down. He claims it&amp;rsquo;s done this way to simplify seeing people in the matrix than other means due to the fact that there is just way too much data (movie scifi magic talk).&lt;/p&gt;</description></item><item><title>JDKMon: Your Friendly JDK Distribution Updater</title><link>https://foojayio.github.io/website/today/jdkmon-your-friendly-jdk-distribution-updater/</link><pubDate>Tue, 06 Jul 2021 06:59:15 +0000</pubDate><guid>https://foojayio.github.io/website/today/jdkmon-your-friendly-jdk-distribution-updater/</guid><description>&lt;p&gt;I don&amp;rsquo;t know if you have the same problem but I have around 8 OpenJDK distributions installed on my machine and I always have the problem of keeping them up to date. I know there is &lt;a href="https://sdkman.io/" title="sdkman" target="_blank" rel="noopener noreferrer"&gt;sdkman&lt;/a&gt;
 which is awesome but I somehow never got used to it.&lt;/p&gt;
&lt;p&gt;Meaning to say I download the OpenJDK distributions manually and install them on my machine. So the main problem is that there so many different distributions out there and all of them have a different way on how to get the latest version. To solve exactly this problem we at foojay.io created the DiscoAPI which keeps track on (hopefully) all available OpenJDK distributions available. Well and because we like to eat our own dogfood I&amp;rsquo;ve created a little tool that helps me keeping my installed OpenJDK distributions up to date&amp;hellip; &lt;a href="https://github.com/HanSolo/JDKMon" title="JDKMon" target="_blank" rel="noopener noreferrer"&gt;JDKMon&lt;/a&gt;
.&lt;/p&gt;</description></item><item><title>Java in Education: Combining Java with Raspberry Pi and the Pi4J Library</title><link>https://foojayio.github.io/website/today/java-in-education-combining-java-with-raspberry-pi-and-the-pi4j-library/</link><pubDate>Tue, 29 Jun 2021 07:40:55 +0000</pubDate><guid>https://foojayio.github.io/website/today/java-in-education-combining-java-with-raspberry-pi-and-the-pi4j-library/</guid><description>&lt;blockquote&gt;
&lt;p&gt;The interviews in this post are &lt;a href="https://kiosk.entwickler.de/java-magazin/java-magazin-7-2021/java-pi4j-und-raspberry-pi-in-der-bildung/" target="_blank" rel="noopener noreferrer"&gt;part of an article published (in German) in Java Magazine&lt;/a&gt;
.
You can get a 25% discount for a new kiosk subscription with the following code: delporte_kiosk25&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Although a lot of universities and high schools focus on Python and C# in their program, there are luckily a lot of others who go &amp;ldquo;full Java&amp;rdquo;. Don&amp;rsquo;t get me wrong, I definitely don&amp;rsquo;t want to start a &amp;ldquo;programming-languages-war&amp;rdquo;, but Java is the language I used myself more than any other for the last 10 years. Setting up a new project or building a proof-of-concept for a new idea, is a matter of hours. And there is always a solution for the problem I need to solve. This is probably true for each developer who has enough experience in the language used the most. But having used and experimented with many other languages, I still keep returning to my &amp;ldquo;one true love&amp;rdquo;, being Java, as it always delivers the result I&amp;rsquo;m aiming for, with the right amount of code to be readable, understandable, and testable!&lt;/p&gt;</description></item><item><title>Creating a JavaFX World Clock from Scratch (Part 6)</title><link>https://foojayio.github.io/website/today/creating-a-javafx-world-clock-from-scratch-part-6/</link><pubDate>Fri, 25 Jun 2021 16:48:48 +0000</pubDate><guid>https://foojayio.github.io/website/today/creating-a-javafx-world-clock-from-scratch-part-6/</guid><description>&lt;blockquote&gt;
&lt;p&gt;Wherever you go, no matter what the weather, always bring your own sunshine. &amp;ndash; Anthony J. D&amp;rsquo;Angelo&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Hello, and welcome to the last part of this series of articles on creating a JavaFX World Clock from scratch!&lt;/p&gt;
&lt;p&gt;In this part, I will show you how to make WebService calls (RESTful) to retrieve weather data based on geographic locations.&lt;/p&gt;
&lt;p&gt;If you remember, &lt;a href="https://foojayio.github.io/website/today/creating-a-javafx-world-clock-from-scratch-part-5/"&gt;in Part 5&lt;/a&gt;
 you learned how to use the JavaFX WebView and the popular mapping library Leaflet JS enabling the user to discover geographic locations. In Part 6, I will show you how I used Java 11&amp;rsquo;s Http Client to retrieve and display weather content. If you are new to this series, you can visit Part &lt;a href="https://foojayio.github.io/website/today/creating-a-javafx-world-clock-from-scratch-part-1/" title="1"&gt;1&lt;/a&gt;
-&lt;a href="https://foojayio.github.io/website/today/creating-a-javafx-world-clock-from-scratch-part-5/" title="5"&gt;5&lt;/a&gt;
.&lt;br&gt;
&lt;img src="https://foojayio.github.io/website/today/creating-a-javafx-world-clock-from-scratch-part-6/JFX-World-Clock-Part-6.png" alt="JFX World Clock Part 6" loading="lazy"&gt;
&lt;/p&gt;</description></item><item><title>Creating Mobile Apps with JavaFX - Part 3</title><link>https://foojayio.github.io/website/today/creating-mobile-apps-with-javafx-part-3/</link><pubDate>Fri, 25 Jun 2021 09:04:04 +0000</pubDate><guid>https://foojayio.github.io/website/today/creating-mobile-apps-with-javafx-part-3/</guid><description>&lt;p&gt;In &lt;a href="https://foojayio.github.io/website/today/creating-mobile-apps-with-javafx---part-1/"&gt;Part 1&lt;/a&gt;
, we introduced a mobile app game, TiltMaze, written completely in JavaFX, which you can download from either the &lt;a href="https://apps.apple.com/app/id1566464439" target="_blank" rel="noopener noreferrer"&gt;Apple App Store&lt;/a&gt;
 or &lt;a href="https://play.google.com/store/apps/details?id=com.asgteach.accelerometer.TiltMaze" target="_blank" rel="noopener noreferrer"&gt;Google Play&lt;/a&gt;
 and install it on your mobile device or tablet. In &lt;a href="https://foojayio.github.io/website/today/creating-mobile-apps-with-javafx---part-1/"&gt;P&lt;/a&gt;
&lt;a href="https://foojayio.github.io/website/today/creating-mobile-apps-with-javafx---part-2/"&gt;art 2&lt;/a&gt;
, we showed you how to work with Gluon and GraalVM to build native images that execute on either Apple or Android mobile devices and tablets.&lt;/p&gt;
&lt;p&gt;In this article, we&amp;rsquo;ll discuss how to upload your application to the respective mobile app stores so the world can install your application on their devices.&lt;/p&gt;</description></item><item><title>Announcing JavaFX: June 2021 Community Update</title><link>https://foojayio.github.io/website/today/javafx-june-2021-community-update/</link><pubDate>Mon, 21 Jun 2021 08:22:42 +0000</pubDate><guid>https://foojayio.github.io/website/today/javafx-june-2021-community-update/</guid><description>&lt;p&gt;JavaFX is a modern cross-platform open-source UI toolkit for the JVM. It provides a wide range of built-in controls and platform-specific features, such as hardware acceleration. If you have not used JavaFX before, you can get started at &lt;a href="https://openjfx.io/" target="_blank" rel="noopener noreferrer"&gt;openjfx.io&lt;/a&gt;
.&lt;/p&gt;
&lt;p&gt;In order for any technology to grow and improve, community support and feedback are paramount. To get a general idea of what the community would like to see in JavaFX in the future, I have &lt;a href="https://twitter.com/AlmasBaim/status/1401833314890178566" target="_blank" rel="noopener noreferrer"&gt;asked developers&lt;/a&gt;
 to share their thoughts:&lt;/p&gt;</description></item><item><title>Creating Mobile Apps with JavaFX - Part 2</title><link>https://foojayio.github.io/website/today/creating-mobile-apps-with-javafx-part-2/</link><pubDate>Fri, 18 Jun 2021 07:10:41 +0000</pubDate><guid>https://foojayio.github.io/website/today/creating-mobile-apps-with-javafx-part-2/</guid><description>&lt;p&gt;In &lt;a href="https://foojayio.github.io/website/today/creating-mobile-apps-with-javafx---part-1/"&gt;Part 1&lt;/a&gt;
, we introduced a mobile app game, TiltMaze, written completely in JavaFX, which you can download from either the &lt;a href="https://apps.apple.com/app/id1566464439" target="_blank" rel="noopener noreferrer"&gt;Apple App Store&lt;/a&gt;
 or &lt;a href="https://play.google.com/store/apps/details?id=com.asgteach.accelerometer.TiltMaze" target="_blank" rel="noopener noreferrer"&gt;Google Play&lt;/a&gt;
 and install it on your mobile device or tablet.&lt;/p&gt;
&lt;p&gt;In this article, we&amp;rsquo;ll discuss the technologies we use with JavaFX to build the JVM byte code version as well as native images that target iOS and Android devices.&lt;/p&gt;
&lt;h3 id="h3-0-gluonfx-plugin-for-maven"&gt;GluonFX plugin for Maven&lt;/h3&gt;
&lt;p&gt;Gluon (&lt;a href="https://docs.gluonhq.com/#_the_gluon_client_plugin_for_maven" target="_blank" rel="noopener noreferrer"&gt;https://docs.gluonhq.com/&lt;/a&gt;
) has a Maven plugin that lets you build native-image JavaFX applications targeting multiple platforms. While Java has always been about compiling Java byte code that runs in a Java Virtual Machine (JVM) anywhere and everywhere (Write Once, Run Anywhere), there are prohibitions with running byte code in the mobile environment. Besides the performance penalties of executing byte code in a virtual machine and the relatively long startup time, Apple prohibits JVM applications on mobile targets and Android Java is non-standard. If you choose to leave the JavaFX world for native toolkits, you need to acquire expertise in Objective C/Swift as well as the respective native UI toolkits to target these platforms. Spoiler alert: I didn&amp;rsquo;t do that!&lt;/p&gt;</description></item><item><title>Getting Started with Game Development Basics with FXGL</title><link>https://foojayio.github.io/website/today/game-development-basics-with-fxgl/</link><pubDate>Thu, 17 Jun 2021 08:48:28 +0000</pubDate><guid>https://foojayio.github.io/website/today/game-development-basics-with-fxgl/</guid><description>&lt;p&gt;Game Development is a large field of Computer Science with a lot of underpinning theory behind the concepts and practices used in the industry. In this short article, we will learn some fundamental basics of these concepts, which will be explored within the context of the &lt;a href="https://github.com/AlmasB/FXGL" target="_blank" rel="noopener noreferrer"&gt;FXGL&lt;/a&gt;
 game engine.&lt;/p&gt;
&lt;p&gt;However, the concepts themselves are language-agnostic and engine-agnostic. Please note that the material presented here is deliberately simplified to provide a gentle introduction. Those seeking in-depth coverage are encouraged to pursue further research.&lt;/p&gt;</description></item><item><title>Creating Mobile Apps with JavaFX - Part 1</title><link>https://foojayio.github.io/website/today/creating-mobile-apps-with-javafx-part-1/</link><pubDate>Fri, 11 Jun 2021 07:14:27 +0000</pubDate><guid>https://foojayio.github.io/website/today/creating-mobile-apps-with-javafx-part-1/</guid><description>&lt;p&gt;Mobile application offerings for both IOS and Android &lt;a href="https://www.statista.com/statistics/271644/worldwide-free-and-paid-mobile-app-store-downloads/" target="_blank" rel="noopener noreferrer"&gt;continue increasing each year&lt;/a&gt;
.&lt;/p&gt;
&lt;p&gt;In this three-part series, I&amp;rsquo;ll show how to use JavaFX for mobile app development: JavaFX looks great and runs on both mobile platforms.&lt;/p&gt;
&lt;p&gt;You use the same JavaFX code targeting Google Play and Apple App stores. Performance is excellent and startup time is fast with native images. You use Java 11+ and the latest JavaFX.&lt;/p&gt;
&lt;p&gt;Our game is TiltMaze Labyrinth. Figure 1 shows TiltMaze running on an Android Nexus 5X. Figure 2 shows TiltMaze running on an iPhone 8 Plus.&lt;br&gt;
&lt;img src="https://foojayio.github.io/website/today/creating-mobile-apps-with-javafx-part-1/TiltMaze-android-small.png" alt="" loading="lazy"&gt;
 Figure 1. TiltMaze on Android&lt;br&gt;
&lt;img src="https://foojayio.github.io/website/today/creating-mobile-apps-with-javafx-part-1/TiltMaze-iPhone-small.png" alt="TiltMaze on iPhone" loading="lazy"&gt;
 Figure 2. TiltMaze on iPhone&lt;/p&gt;</description></item><item><title>Gluon Update, Dual Screen Raspberry Pi , IntelliJ JavaFX Project Wizard</title><link>https://foojayio.github.io/website/today/javafx-gluon-status-update-dual-screen-on-raspberry-pi-sample-intellij-new-javafx-project-wizard/</link><pubDate>Fri, 04 Jun 2021 07:27:41 +0000</pubDate><guid>https://foojayio.github.io/website/today/javafx-gluon-status-update-dual-screen-on-raspberry-pi-sample-intellij-new-javafx-project-wizard/</guid><description>&lt;p&gt;Last week, Johan Vos of Gluon, released a video with a status update of JavaFX. In this post we are going to take a deeper look into one of the announcements: dual screen support on Raspberry Pi.&lt;/p&gt;
&lt;h2 id="h2-0-announcements-by-gluon"&gt;Announcements by Gluon&lt;/h2&gt;
&lt;p&gt;Since Java switched to a 6-month release cycle, JavaFX has done the same, so next version will be number 17. Keep in mind, although Java and JavaFX are on the same version-number, you can still use Java 11 and combine it with the JavaFX 17 runtime if you want to benefit from its improvements. Up till now, there were no breaking changes in either of the frameworks which force you to use a Java-version higher than 11.&lt;/p&gt;</description></item><item><title>New Java/JavaFX Library FXSkins Released</title><link>https://foojayio.github.io/website/today/new-java-javafx-library-fxskins-released/</link><pubDate>Thu, 03 Jun 2021 14:02:47 +0000</pubDate><guid>https://foojayio.github.io/website/today/new-java-javafx-library-fxskins-released/</guid><description>&lt;p&gt;A new Java / JavaFX library has been released. It&amp;rsquo;s called FXSkins.&lt;/p&gt;
&lt;p&gt;FXSkins is a collection of new Skins for existing JavaFX controls. These Skins will add more functionality to the controls used in your applications with almost no need to make changes to your application&amp;rsquo;s code.&lt;/p&gt;
&lt;p&gt;This library is targeted for the most recent Java versions.&lt;/p&gt;
&lt;h2 id="h2-0-fxskins-details"&gt;FXSkins Details&lt;/h2&gt;
&lt;p&gt;&lt;img src="https://foojayio.github.io/website/today/new-java-javafx-library-fxskins-released/ScrollPane4.gif" alt="FXSkins ScrollPane Skin" loading="lazy"&gt;
&lt;/p&gt;
&lt;p&gt;FXSkins is a Java / JavaFX library targeted for Java 11 and above, up until the most recent Java version (but should also work with Java 9 and 10). It is currently being built and tested using the current LTS Java version which is Java 11.&lt;/p&gt;</description></item><item><title>Interviews with Robert Savage &amp; Johan Vos on Java on the Raspberry Pi</title><link>https://foojayio.github.io/website/today/interviews-with-robert-savage-and-johan-vos-on-the-state-of-java-on-raspberry-pi/</link><pubDate>Fri, 28 May 2021 07:14:26 +0000</pubDate><guid>https://foojayio.github.io/website/today/interviews-with-robert-savage-and-johan-vos-on-the-state-of-java-on-raspberry-pi/</guid><description>&lt;blockquote&gt;
&lt;p&gt;This post is part of an &lt;a href="https://kiosk.entwickler.de/java-magazin/java-magazin-6-2021/status-quo-und-expertenstimmen/" target="_blank" rel="noopener noreferrer"&gt;article published (in German) in Java Magazine&lt;/a&gt;
.
You can get a 25% discount for a new kiosk subscription with the following code: delporte_kiosk25&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Here on Foojay.io, you can find already &lt;a href="https://foojayio.github.io/website/today/category/java/embedded/raspberry-pi/"&gt;a long list of articles about Java on the Raspberry Pi&lt;/a&gt;
. As you may know, already I&amp;rsquo;m a big fan of this combination. The Raspberry Pi on one side is a very cheap computer that allows you to experiment with electronic components thanks to the Pi4J library. And on the other hand, JavaFX is the ideal framework to build user interfaces that can directly control these components, all in one application!&lt;/p&gt;</description></item><item><title>Welcome to the FXGL Game Engine 11.16 Release</title><link>https://foojayio.github.io/website/today/fxgl-game-engine-11-16-release/</link><pubDate>Tue, 25 May 2021 12:10:16 +0000</pubDate><guid>https://foojayio.github.io/website/today/fxgl-game-engine-11-16-release/</guid><description>&lt;p&gt;FXGL is a JavaFX game engine: &lt;a href="https://github.com/AlmasB/FXGL" target="_blank" rel="noopener noreferrer"&gt;https://github.com/AlmasB/FXGL&lt;/a&gt;
&lt;/p&gt;
&lt;h2 id="h2-0-release-highlights"&gt;Release Highlights&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;The restored Multiplayer Service allows easy replications of input, events and entities on a remote machine. For example, by just adding a single line of code (see MultiplayerService API), any key or mouse inputs that occur on one end of the connection can be replicated on the other end.&lt;/li&gt;
&lt;li&gt;The new FPS camera allows easy control of the player (or their &amp;ldquo;line of sight&amp;rdquo;) in the context of a first-person 3D game.&lt;/li&gt;
&lt;li&gt;There is no longer a transitive dependency on the &lt;code&gt;javafx.swing&lt;/code&gt; module. This means FXGL users will not need an extra module in their module graph.&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="h2-1-release-notes"&gt;Release Notes&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Restored and refactored MultiplayerService&lt;/li&gt;
&lt;li&gt;Added ReplicationEvent (javafx event that can be replicated on a remote machine)&lt;/li&gt;
&lt;li&gt;FPS camera (&lt;code&gt;camera3D.setFPSCamera(true)&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;Mouse sensitivity setting&lt;/li&gt;
&lt;li&gt;Removed dependency on &lt;code&gt;javafx.swing&lt;/code&gt; module, thanks to @FDelporte&lt;/li&gt;
&lt;li&gt;Performance improvements in Tiled map loading, thanks to @adambocco&lt;/li&gt;
&lt;li&gt;&lt;code&gt;isExperimental3D&lt;/code&gt; -&amp;gt; &lt;code&gt;3D&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;isExperimentalNative&lt;/code&gt; -&amp;gt; &lt;code&gt;isNative&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Model3D can be loaded from an .obj&lt;/li&gt;
&lt;li&gt;Model3D now has a copy()&lt;/li&gt;
&lt;li&gt;Added Cuboid shape&lt;/li&gt;
&lt;li&gt;EntityGroup::size(), thanks to @adambocco&lt;/li&gt;
&lt;li&gt;Allow providing a custom default cursor for all scenes&lt;/li&gt;
&lt;li&gt;Internal physics refactoring&lt;/li&gt;
&lt;li&gt;Entity no longer throws an exception when adding a duplicate Component (warns instead), thanks to @Zhack47&lt;/li&gt;
&lt;li&gt;JavaFX 15 -&amp;gt; 16&lt;/li&gt;
&lt;li&gt;Compile target for Kotlin: 1.8 -&amp;gt; 11&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="h2-2-video"&gt;Video&lt;/h2&gt;
&lt;div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;"&gt;
			&lt;iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube.com/embed/fuDQg7W0v4g?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video"&gt;&lt;/iframe&gt;
		&lt;/div&gt;

&lt;br /&gt;</description></item><item><title>Creating a JavaFX World Clock from Scratch (Part 5)</title><link>https://foojayio.github.io/website/today/creating-a-javafx-world-clock-from-scratch-part-5/</link><pubDate>Wed, 19 May 2021 15:05:59 +0000</pubDate><guid>https://foojayio.github.io/website/today/creating-a-javafx-world-clock-from-scratch-part-5/</guid><description/></item><item><title>Snake Game with JavaFX FXGL in Three Pair-Programming Sessions</title><link>https://foojayio.github.io/website/today/creating-a-snake-game-with-javafx-fxgl-in-three-pair-programming-sessions/</link><pubDate>Tue, 04 May 2021 07:00:00 +0000</pubDate><guid>https://foojayio.github.io/website/today/creating-a-snake-game-with-javafx-fxgl-in-three-pair-programming-sessions/</guid><description>&lt;p&gt;In this article, Almas and I will show you how to start with an idea for a game and bring it to life in a prototype application. We will then modify the application to run on a Raspberry Pi and on a mobile device.&lt;/p&gt;
&lt;p&gt;To give some background, some time ago my 10y old son challenged me to create a Snake-like game with emojis. He selected the emoji images and I &amp;ldquo;only&amp;rdquo; needed to do the programming bit, the easy part&amp;hellip; Luckily Almas asked me if I had a topic for some pair-programming for his &lt;a href="https://www.youtube.com/channel/UCmjXvUa36DjqCJ1zktXVbUA/videos" target="_blank" rel="noopener noreferrer"&gt;YouTube channel&lt;/a&gt;
, and his question turned into a three-part series. My son is delighted because his idea is now a real game!&lt;/p&gt;</description></item><item><title>Beginning JavaFX Applications with IntelliJ IDE</title><link>https://foojayio.github.io/website/today/beginning-javafx-with-intellij/</link><pubDate>Wed, 28 Apr 2021 19:33:58 +0000</pubDate><guid>https://foojayio.github.io/website/today/beginning-javafx-with-intellij/</guid><description>&lt;figure class="alignleft size-large"&gt;
 &lt;img src="https://foojayio.github.io/website/today/beginning-javafx-with-intellij/duke-intellij-shirt.png" alt="" width="174" height="313" loading="lazy" class="is-zoomable"&gt;&lt;figcaption class="wp-element-caption"&gt;JavaFX in IntelliJ IDE&lt;/figcaption&gt;&lt;/figure&gt;

&lt;p&gt;This article is for the beginner who wants to get started developing JavaFX applications using &lt;a href="https://www.jetbrains.com/idea/" target="_blank" rel="noopener noreferrer"&gt;Jetbrains&amp;rsquo; IntelliJ&lt;/a&gt;
 IDE. The article will create three flavors of a HelloWorld JavaFX application as follows:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Plain - Create a new project from scratch using no build tools&lt;/li&gt;
&lt;li&gt;Maven - Create a new project using the Maven build tool&lt;/li&gt;
&lt;li&gt;Gradle - Create a new project using the Gradle build tool&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;While this article may seem elementary for some, I believe it can help newcomers to the JavaFX platform avoid some pitfalls and really hit the ground running.&lt;/p&gt;</description></item><item><title>JavaFX Running in Kiosk Mode on the Raspberry Pi</title><link>https://foojayio.github.io/website/today/javafx-running-in-kiosk-mode-on-the-raspberry-pi/</link><pubDate>Tue, 27 Apr 2021 14:39:50 +0000</pubDate><guid>https://foojayio.github.io/website/today/javafx-running-in-kiosk-mode-on-the-raspberry-pi/</guid><description>&lt;p&gt;Combined with an inexpensive touch screen, the Raspberry Pi makes for a perfect controller for a machine or game console. Let&amp;rsquo;s see how we can use Java and JavaFX to build a test application that also communicates with the pins of the Raspberry Pi to control a LED.&lt;/p&gt;
&lt;p&gt;We have done something before already in the post &lt;a href="https://foojayio.github.io/website/today/light-up-your-christmas-tree-with-java-and-raspberry-pi/"&gt;&amp;ldquo;Light Up your Christmas Tree with Java and Raspberry Pi&amp;rdquo;&lt;/a&gt;
, so what&amp;rsquo;s new here?&lt;/p&gt;</description></item><item><title>Modern JavaFX Game Development with FXGL - Pong</title><link>https://foojayio.github.io/website/today/modern-javafx-game-development-with-fxgl-pong-simple/</link><pubDate>Tue, 27 Apr 2021 07:48:29 +0000</pubDate><guid>https://foojayio.github.io/website/today/modern-javafx-game-development-with-fxgl-pong-simple/</guid><description>&lt;p&gt;In this tutorial we will make a very simple clone of the classic Pong game using the &lt;a href="https://github.com/AlmasB/FXGL" target="_blank" rel="noopener noreferrer"&gt;FXGL game engine&lt;/a&gt;
.&lt;/p&gt;
&lt;p&gt;We will be using the latest (currently 11.15) version of FXGL via Maven (or Gradle):&lt;/p&gt;
&lt;pre class="EnlighterJSRAW" data-enlighter-language="java"&gt;&amp;lt;dependency&amp;gt;
 &amp;lt;groupId&amp;gt;com.github.almasb&amp;lt;/groupId&amp;gt;
 &amp;lt;artifactId&amp;gt;fxgl&amp;lt;/artifactId&amp;gt;
 &amp;lt;version&amp;gt;11.15&amp;lt;/version&amp;gt;
&amp;lt;/dependency&amp;gt;&lt;/pre&gt;
&lt;p&gt;The full source code is available at the end of this page. The game will look like this:&lt;/p&gt;
&lt;p&gt;&lt;img src="https://raw.githubusercontent.com/AlmasB/git-server/master/storage/images/fxgl_pong.png" alt="" loading="lazy"&gt;
&lt;/p&gt;
&lt;p&gt;Whilst this tutorial is meant to teach basic concepts, building on them will allow us to produce much more &lt;a href="https://youtu.be/yhr1b4061os?t=496" target="_blank" rel="noopener noreferrer"&gt;complex examples&lt;/a&gt;
.&lt;/p&gt;</description></item><item><title>Creating a JavaFX World Clock from Scratch (Part 4)</title><link>https://foojayio.github.io/website/today/creating-a-javafx-world-clock-from-scratch-part-4/</link><pubDate>Fri, 09 Apr 2021 07:51:05 +0000</pubDate><guid>https://foojayio.github.io/website/today/creating-a-javafx-world-clock-from-scratch-part-4/</guid><description>&lt;blockquote&gt;
&lt;p&gt;&amp;ldquo;The tools we use have a profound (and devious!) influence on our thinking habits, and, therefore, on our thinking abilities.&amp;rdquo; &amp;ndash; Edsger W. Dijkstra, 18 June 1975&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;img src="https://foojayio.github.io/website/today/creating-a-javafx-world-clock-from-scratch-part-4/Screen-Shot-2021-03-28-at-4.05.45-PM.png" alt="JFX World Clock &amp;amp; JPackager" loading="lazy"&gt;
&lt;/p&gt;
&lt;p&gt;Hello and welcome to Part 4 of a series of blog entries on how I created a &amp;ldquo;sci-fi&amp;rdquo; looking world clock using JavaFX. If you are new to this series you can visit Part &lt;a href="https://foojayio.github.io/website/today/creating-a-javafx-world-clock-from-scratch-part-1/" title="Part 1"&gt;1&lt;/a&gt;
, &lt;a href="https://foojayio.github.io/website/today/creating-a-javafx-world-clock-from-scratch-part-2/" title="Part 2"&gt;2&lt;/a&gt;
, &amp;amp; &lt;a href="https://foojayio.github.io/website/today/creating-a-javafx-world-clock-from-scratch-part-3/" title="Part3"&gt;3&lt;/a&gt;
.&lt;/p&gt;</description></item><item><title>Creating a JavaFX World Clock from Scratch (Part 3)</title><link>https://foojayio.github.io/website/today/creating-a-javafx-world-clock-from-scratch-part-3/</link><pubDate>Fri, 02 Apr 2021 09:51:45 +0000</pubDate><guid>https://foojayio.github.io/website/today/creating-a-javafx-world-clock-from-scratch-part-3/</guid><description>&lt;blockquote&gt;
&lt;p&gt;An old trick well done is far better than a new trick with no effect. &amp;ndash; Harry Houdini&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;img src="https://foojayio.github.io/website/today/creating-a-javafx-world-clock-from-scratch-part-3/Screen-Shot-2021-03-25-at-4.04.43-PM.png" alt="World Clock Location Config Form" loading="lazy"&gt;
&lt;/p&gt;
&lt;p&gt;Welcome back to the series of blog entries on how I created a &amp;ldquo;sci-fi&amp;rdquo; looking world clock using JavaFX. If you are new to this series you can visit Part &lt;a href="https://foojayio.github.io/website/today/creating-a-javafx-world-clock-from-scratch-part-1/" title="Creating a JavaFX World Clock from Scratch (Part 1)"&gt;[1]&lt;/a&gt;
 &amp;amp; &lt;a href="https://foojayio.github.io/website/today/creating-a-javafx-world-clock-from-scratch-part-2/" title="Creating a JavaFX World Clock from Scratch (Part 2)"&gt;[2]&lt;/a&gt;
.&lt;/p&gt;</description></item><item><title>Custom Controls in JavaFX (Part VII): JDK Butler</title><link>https://foojayio.github.io/website/today/custom-controls-in-javafx-part-vii/</link><pubDate>Fri, 12 Mar 2021 09:10:43 +0000</pubDate><guid>https://foojayio.github.io/website/today/custom-controls-in-javafx-part-vii/</guid><description>&lt;p&gt;Welcome the &lt;a href="https://foojayio.github.io/website/today/custom-controls-in-javafx-part-i/"&gt;final article of this little series&lt;/a&gt;
 about custom controls in JavaFX.&lt;/p&gt;
&lt;p&gt;This time, I have created an application that makes use of custom controls. I won&amp;rsquo;t go through the whole code on how I&amp;rsquo;ve created this application but only on the custom controls that I&amp;rsquo;ve created for it.&lt;/p&gt;
&lt;p&gt;But first, let me show you the application&amp;hellip;&lt;/p&gt;
&lt;p&gt;&lt;img src="https://foojayio.github.io/website/today/custom-controls-in-javafx-part-vii/JDK-Butler-2021-02-10-11-57-56-700x504.png" alt="" loading="lazy"&gt;
&lt;/p&gt;
&lt;p&gt;The &lt;a href="https://github.com/HanSolo/jdkbutler" target="_blank" rel="noopener noreferrer"&gt;JDK Butler&lt;/a&gt;
 is an app that makes use of the &lt;a href="https://github.com/foojay2020/discoapi" target="_blank" rel="noopener noreferrer"&gt;Foojay Disco API&lt;/a&gt;
 to enable you to drill down to a JDK of your choice and download it to your machine. As you can see in the screenshot, we have columns where we can select things like major version, version, distribution etc.&lt;/p&gt;</description></item><item><title>Custom Controls in JavaFX (Part VI) -- Canvas Class</title><link>https://foojayio.github.io/website/today/custom-controls-in-javafx-part-vi/</link><pubDate>Fri, 05 Mar 2021 08:21:10 +0000</pubDate><guid>https://foojayio.github.io/website/today/custom-controls-in-javafx-part-vi/</guid><description>&lt;p&gt;We are slowly coming to the end of &lt;a href="https://foojayio.github.io/website/today/custom-controls-in-javafx-part-i/"&gt;all the different ways&lt;/a&gt;
 in which one can create a custom control in JavaFX. Today I will show you how to create a custom control that is based on the JavaFX Canvas node.&lt;/p&gt;
&lt;p&gt;To understand the Canvas node and why it is good to have it, let me briefly explain how rendering in JavaFX is done.&lt;/p&gt;
&lt;p&gt;In JavaFX, the so-called&lt;a href="http://https://en.wikipedia.org/wiki/Retained_mode" title=" retained mode rendering" target="_blank" rel="noopener noreferrer"&gt;retained mode rendering&lt;/a&gt;
 is used. That means that you, as a developer, don&amp;rsquo;t have to take care about when to render which area of the screen when you change something (remember rendering artefacts in Swing?). Instead, JavaFX takes care of the rendering of the scene graph. That makes developing applications a lot less complicated because you do not have to track dirty areas and trigger repaints, etc.&lt;/p&gt;</description></item><item><title>Custom Controls in JavaFX (Part V): Region Class</title><link>https://foojayio.github.io/website/today/custom-controls-in-javafx-part-v/</link><pubDate>Fri, 26 Feb 2021 08:31:08 +0000</pubDate><guid>https://foojayio.github.io/website/today/custom-controls-in-javafx-part-v/</guid><description>&lt;p&gt;In &lt;a href="https://foojayio.github.io/website/today/custom-controls-in-javafx-part-iv/"&gt;the last article&lt;/a&gt;
, I showed you how to create a custom control based on the Control plus Skin approach, which is great for building controls libraries.&lt;/p&gt;
&lt;p&gt;This time, I will show you how to create a JavaFX Custom Control that is based on the JavaFX Region class. The Region class is the class that all JavaFX controls are based on. It is a resizable Parent node which can be styled from CSS. This is the class that you would want to use when building a JavaFX custom control that is not part of a controls library.&lt;/p&gt;</description></item><item><title>Custom Controls in JavaFX (Part IV): Control &amp; Skin Classes</title><link>https://foojayio.github.io/website/today/custom-controls-in-javafx-part-iv/</link><pubDate>Fri, 19 Feb 2021 08:22:35 +0000</pubDate><guid>https://foojayio.github.io/website/today/custom-controls-in-javafx-part-iv/</guid><description>&lt;p&gt;I hope you found some time to play around with the custom controls that I showed you in &lt;a href="https://foojayio.github.io/website/today/custom-controls-in-javafx-part-iii/"&gt;the previous part of this series&lt;/a&gt;
.&lt;/p&gt;
&lt;p&gt;This time, I will show you how to create a custom control in JavaFX by using Control and Skin classes.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;A custom control created by a Control and Skin class only makes sense if you will provide more than one Skin for your control or if you would like to give people the ability to create their own Skins for your Control.&lt;/em&gt;
&lt;em&gt;In any other case, you should choose another approach (e.g., use a Region or Canvas based control).&lt;/em&gt;&lt;/p&gt;</description></item><item><title>Custom Controls in JavaFX (Part III) -- Extend an Existing Control</title><link>https://foojayio.github.io/website/today/custom-controls-in-javafx-part-iii/</link><pubDate>Fri, 12 Feb 2021 08:22:02 +0000</pubDate><guid>https://foojayio.github.io/website/today/custom-controls-in-javafx-part-iii/</guid><description>&lt;p&gt;If you&amp;rsquo;ve been following this series of blog posts, you already read about how to create custom controls by &lt;a href="https://foojayio.github.io/website/today/custom-controls-in-javafx-part-i/"&gt;re-styling existing controls&lt;/a&gt;
 or &lt;a href="https://foojayio.github.io/website/today/custom-controls-in-javafx-part-ii/"&gt;combining existing controls&lt;/a&gt;
. This time let me show you how to create a custom JavaFX control by extending an existing control.&lt;/p&gt;
&lt;p&gt;The goal for today is to create a TextField that looks similar to the TextField that you can find in &lt;a href="https://material.io/components/text-fields" title="MaterialDesign" target="_blank" rel="noopener noreferrer"&gt;MaterialDesign&lt;/a&gt;
.&lt;/p&gt;
&lt;p&gt;I use MaterialDesign because it is really popular but be aware that it is not really made for Desktop applications. The reason for this is simple, it needs a lot of space in the vertical direction which makes sense if you keep in mind that it was made for mobile devices where the screen orientation is vertical as where the screen orientation of desktops is horizontal.&lt;/p&gt;</description></item><item><title>Custom Controls in JavaFX (Part II) -- Combining Existing Controls</title><link>https://foojayio.github.io/website/today/custom-controls-in-javafx-part-ii/</link><pubDate>Fri, 05 Feb 2021 08:23:32 +0000</pubDate><guid>https://foojayio.github.io/website/today/custom-controls-in-javafx-part-ii/</guid><description>&lt;p&gt;&lt;a href="https://foojayio.github.io/website/today/custom-controls-in-javafx-part-i/"&gt;Last time we saw&lt;/a&gt;
 how to create custom controls in JavaFX by simply playing around with CSS styles for the component.&lt;/p&gt;
&lt;p&gt;This time I will show you how to create a custom control by combining existing controls. The idea is to create a control that contains a text field where you can type in values and next to the text field should be a button that when pressed will convert the value from the text field to another value.&lt;/p&gt;</description></item><item><title>How to Use Custom Controls in JavaFX (Part I)</title><link>https://foojayio.github.io/website/today/custom-controls-in-javafx-part-i/</link><pubDate>Fri, 29 Jan 2021 08:22:15 +0000</pubDate><guid>https://foojayio.github.io/website/today/custom-controls-in-javafx-part-i/</guid><description>&lt;p&gt;JavaFX is now already some years out in the wild and even if it is not as widely used as web applications, it has its place. It mainly is used in internal applications only, which leads to the impression that nobody is using it.&lt;/p&gt;
&lt;p&gt;As long as you only would like to create a simple form-based application, the available UI controls in JavaFX will work totally fine. You need to take a look at how to style the controls using CSS, but from the coding point of view it&amp;rsquo;s pretty straight forward.&lt;/p&gt;</description></item><item><title>Tips on High Performance Rendering in JavaFX</title><link>https://foojayio.github.io/website/today/high-performance-rendering-in-javafx/</link><pubDate>Mon, 18 Jan 2021 09:07:52 +0000</pubDate><guid>https://foojayio.github.io/website/today/high-performance-rendering-in-javafx/</guid><description>&lt;p&gt;In this article, we comparatively evaluate four different approaches to render particles in JavaFX in terms of runtime performance.&lt;/p&gt;
&lt;p&gt;The approaches are Canvas, PixelBuffer AWT, PixelBuffer CPU and PixelBuffer GPU.&lt;/p&gt;
&lt;p&gt;The evaluation suggests the following order of approaches from fastest to slowest:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;PixelBuffer GPU (fastest).&lt;/li&gt;
&lt;li&gt;PixelBuffer CPU.&lt;/li&gt;
&lt;li&gt;PixelBuffer AWT.&lt;/li&gt;
&lt;li&gt;Canvas (slowest).&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;All of the source code developed for this article can be found on &lt;a href="https://github.com/AlmasB/FXGL-FastRender" target="_blank" rel="noopener noreferrer"&gt;GitHub&lt;/a&gt;
. An example demo with 1 000 000 particles looks like this:&lt;/p&gt;</description></item><item><title>How to Do Device Monitoring with JavaFX and FXGL</title><link>https://foojayio.github.io/website/today/device-monitoring-with-javafx-and-fxgl/</link><pubDate>Mon, 11 Jan 2021 10:09:21 +0000</pubDate><guid>https://foojayio.github.io/website/today/device-monitoring-with-javafx-and-fxgl/</guid><description>&lt;p&gt;In a previous post &lt;a href="https://foojayio.github.io/website/today/category/java/javafx/"&gt;&amp;ldquo;Getting Started with FXGL Game Development&amp;rdquo;&lt;/a&gt;
 we already have taken a look at the &lt;a href="https://github.com/AlmasB/FXGL" target="_blank" rel="noopener noreferrer"&gt;FXGL game development framework&lt;/a&gt;
 developed by &lt;a href="https://twitter.com/AlmasBaim" target="_blank" rel="noopener noreferrer"&gt;Almas Baimagambetov&lt;/a&gt;
.&lt;/p&gt;
&lt;p&gt;But, this game engine can also be used for other use cases. In this post, we will be building a system monitoring dashboard, which can run on a Raspberry Pi. The dashboard can be used to keep an eye on any device that can report its state to a queue. And, for me personally, it finally solves the problem of finding the IP addresses of all my Raspberry Pi&amp;rsquo;s when my router decided to shuffle them&amp;hellip; 😉&lt;/p&gt;</description></item><item><title>Java Predictions for 2021: Raspberry Pi and Java</title><link>https://foojayio.github.io/website/today/java-predictions-for-2021-raspberry-pi/</link><pubDate>Sat, 26 Dec 2020 09:06:38 +0000</pubDate><guid>https://foojayio.github.io/website/today/java-predictions-for-2021-raspberry-pi/</guid><description>&lt;p&gt;&lt;strong&gt;To celebrate the world of Java and predict some highlights for 2021, several key Foojay participants will share their thoughts and hopes during the coming days on Foojay, starting with Frank Delporte, Foojay Community Manager for the Raspberry Pi.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Looking back to my Java adventures in 2020, I can only conclude it has been a wonderful journey.&lt;/p&gt;
&lt;p&gt;By writing my book &amp;ldquo;Getting Started with Java on the Raspberry Pi&amp;rdquo; (&lt;a href="https://webtechie.be/books/" target="_blank" rel="noopener noreferrer"&gt;https://webtechie.be/books/&lt;/a&gt;
) and blogging for &lt;a href="https://foojayio.github.io/website/"&gt;foojay.io&lt;/a&gt;
, I discovered Java in the embedded world has a very bright future. With the 6-month release cycle of both Java and JavaFX, a lot of improvements and new features that impact the use of Java on Raspberry Pi, are introduced with every new version.&lt;/p&gt;</description></item><item><title>Creating a JavaFX World Clock from Scratch (Part 2)</title><link>https://foojayio.github.io/website/today/creating-a-javafx-world-clock-from-scratch-part-2/</link><pubDate>Thu, 24 Dec 2020 09:46:11 +0000</pubDate><guid>https://foojayio.github.io/website/today/creating-a-javafx-world-clock-from-scratch-part-2/</guid><description>&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;&amp;ldquo;The only way to learn mathematics is to do mathematics.&amp;rdquo;&lt;/em&gt; &amp;ndash; Paul Halmos&lt;a href="https://en.wikipedia.org/wiki/Paul_Halmos" title="Mathematician Paul Halmos" target="_blank" rel="noopener noreferrer"&gt;[1]&lt;/a&gt;
&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id="h2-0-introduction"&gt;Introduction&lt;/h2&gt;
&lt;p&gt;Welcome to &lt;em&gt;Creating a JavaFX World Clock from Scratch Part 2!&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;This is the second installment of a series of blog entries on how I created a &amp;ldquo;sci-fi&amp;rdquo; looking world clock using JavaFX.&lt;/p&gt;
&lt;p&gt;If you have not read Part 1&lt;a href="https://foojayio.github.io/website/today/creating-a-javafx-world-clock-from-scratch-part-1/" title="Creating a JavaFX World Clock from Scratch Part 1"&gt;[2]&lt;/a&gt;
 please see the introduction section of the &lt;em&gt;Creating a JavaFX World Clock from Scratch (Part 1)&lt;/em&gt; &lt;a href="https://foojayio.github.io/website/today/creating-a-javafx-world-clock-from-scratch-part-1/" title="Creating a JavaFX World Clock from Scratch Part 1"&gt;[2]&lt;/a&gt;
.&lt;/p&gt;</description></item><item><title>Summer with Covid-19 in Australia, New Zealand and Polynesia</title><link>https://foojayio.github.io/website/today/summer-with-covid-19-in-australia-new-zealand-and-polynesia/</link><pubDate>Fri, 18 Dec 2020 08:57:46 +0000</pubDate><guid>https://foojayio.github.io/website/today/summer-with-covid-19-in-australia-new-zealand-and-polynesia/</guid><description>&lt;p&gt;In this series of blogposts (&lt;a href="https://foojayio.github.io/website/today/covid-19-time-series-analysis-with-software-ekg/"&gt;see part 1 here&lt;/a&gt;
), we&amp;rsquo;re taking a look at the current figures of the Covid-19 pandemic with Software-ECG. Software-ECG is a free time series analysis tool originally developed for for system analysis of computer problems in distributed systems.&lt;/p&gt;
&lt;p&gt;With the Covid-19 edition, QAware has adapted the tool so that the current data sets from the data hub of the University of Oxford are automatically loaded and immediately available for analysis. More information about the Software-ECG and download links &lt;a href="https://foojayio.github.io/website/today/covid-19-time-series-analysis-with-software-ekg/"&gt;can be found here&lt;/a&gt;
.&lt;/p&gt;</description></item><item><title>Creating a JavaFX World Clock from Scratch (Part 1)</title><link>https://foojayio.github.io/website/today/creating-a-javafx-world-clock-from-scratch-part-1/</link><pubDate>Mon, 14 Dec 2020 09:27:54 +0000</pubDate><guid>https://foojayio.github.io/website/today/creating-a-javafx-world-clock-from-scratch-part-1/</guid><description>&lt;blockquote&gt;
&lt;p&gt;Good design&amp;rsquo;s not about what medium you&amp;rsquo;re working in. It&amp;rsquo;s about thinking hard about what you want to do and what you have to work with before you start.&amp;quot; &amp;ndash; Susan Kare &lt;a href="https://en.wikipedia.org/wiki/Susan_Kare" title="Susan Kare" target="_blank" rel="noopener noreferrer"&gt;[6]&lt;/a&gt;
&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h3 id="h3-0-introduction"&gt;Introduction&lt;/h3&gt;
&lt;p&gt;Welcome to &lt;em&gt;Creating a JavaFX World Clock from Scratch (Part 1)&lt;/em&gt;! In this series of blog entries I would like to show you how I created a &amp;ldquo;sci-fi&amp;rdquo; looking world clock that happens to be a cross-platform Java desktop application.&lt;/p&gt;</description></item><item><title>Separate Covid-19 Waves in Europe and South America</title><link>https://foojayio.github.io/website/today/separate-covid-19-waves-in-europe-and-south-america/</link><pubDate>Fri, 11 Dec 2020 09:47:59 +0000</pubDate><guid>https://foojayio.github.io/website/today/separate-covid-19-waves-in-europe-and-south-america/</guid><description>&lt;p&gt;In this series of blogposts (&lt;a href="https://foojayio.github.io/website/today/covid-19-time-series-analysis-with-software-ekg/"&gt;see part 1 here&lt;/a&gt;
) we take look at the current figures of the Covid-19 pandemic with Software-ECG.&lt;/p&gt;
&lt;p&gt;Software-ECG is a free time series analysis tool originally developed for time series analysis for system analysis of computer problems in distributed systems. With the Covid-19 edition, QAware has adapted the tool so that the current data from the data hub of the University of Oxford are automatically loaded and immediately available for analysis. More information about Software-ECG and download links &lt;a href="https://foojayio.github.io/website/today/covid-19-time-series-analysis-with-software-ekg/"&gt;can be found here&lt;/a&gt;
.&lt;/p&gt;</description></item><item><title>Creating CAD Applications with Java and JavaFX</title><link>https://foojayio.github.io/website/today/creating-cad-applications-with-java-and-javafx/</link><pubDate>Wed, 09 Dec 2020 11:26:19 +0000</pubDate><guid>https://foojayio.github.io/website/today/creating-cad-applications-with-java-and-javafx/</guid><description>&lt;p&gt;I&amp;rsquo;m a &lt;a href="http://www.pixelduke.com/" target="_blank" rel="noopener noreferrer"&gt;Java (JavaFX) freelance consultant, Software Engineer and Software Designer&lt;/a&gt;
 and a few months ago I finished a CAD application for a client.&lt;/p&gt;
&lt;p&gt;This is a CAD application whose purpose is to calculate the energy efficiency of Dwellings (or multiple Dwellings). It can be seen as an application similar to Autocad (which is used in Civil Engineering, Architecture, etc) but with the specific purpose to do energy efficiency assessment.
&lt;img src="https://foojayio.github.io/website/today/creating-cad-applications-with-java-and-javafx/showcase-model-view-1024x555.png" alt="" loading="lazy"&gt;
&lt;/p&gt;</description></item><item><title>Where is the 2nd Wave in Russia and China?</title><link>https://foojayio.github.io/website/today/where-is-the-2nd-wave-in-russia-and-china/</link><pubDate>Fri, 04 Dec 2020 12:56:27 +0000</pubDate><guid>https://foojayio.github.io/website/today/where-is-the-2nd-wave-in-russia-and-china/</guid><description>&lt;p&gt;In this series of blog posts (&lt;a href="https://foojayio.github.io/website/today/covid-19-time-series-analysis-with-software-ekg/"&gt;see part 1 here&lt;/a&gt;
), we&amp;rsquo;re taking look at the current figures of the Covid-19 pandemic with Software-ECG. Software-ECG is a free time series analysis tool originally developed for system analysis of computer problems in distributed systems.&lt;/p&gt;
&lt;p&gt;With the Covid-19 edition, QAware has adapted the tool so that the current data sets from the data hub of the University of Oxford are automatically loaded and immediately available for analysis. More information about Software-ECG and its download links &lt;a href="https://blog.qaware.de/posts/2020-11-11-software-ekg-covid-19-edition/" target="_blank" rel="noopener noreferrer"&gt;can be found here&lt;/a&gt;
. Note that the German translation for ECG is EKG (Elektrokardiogramm). We are German, therefore we use the names &amp;ldquo;Software ECG&amp;rdquo; and &amp;ldquo;Software EKG&amp;rdquo; as synonyms.&lt;/p&gt;</description></item><item><title>Using Java to Analyze The Second Wave Breaking in Europe</title><link>https://foojayio.github.io/website/today/the-second-wave-breaks-in-europe/</link><pubDate>Fri, 27 Nov 2020 09:47:14 +0000</pubDate><guid>https://foojayio.github.io/website/today/the-second-wave-breaks-in-europe/</guid><description>&lt;p&gt;In this series of blog posts (&lt;a href="https://foojayio.github.io/website/today/covid-19-time-series-analysis-with-software-ekg/"&gt;see part 1 here&lt;/a&gt;
), we&amp;rsquo;re looking at the current figures of the Covid-19 pandemic with Software-ECG.{#a808}&lt;/p&gt;
&lt;p&gt;Software-ECG is a free time series analysis tool originally developed for time series analysis for system analysis of computer problems in distributed systems. With the COVID-19 edition, QAware has adapted the tool so that the current data from the data hub of the University of Oxford are automatically loaded and immediately available for analysis. More information about the Software-ECG and download links &lt;a href="https://foojayio.github.io/website/today/covid-19-time-series-analysis-with-software-ekg/"&gt;can be found here on foojay&lt;/a&gt;
.{#a808}&lt;/p&gt;</description></item><item><title>Native Applications from a JavaFX Project for Multiple Devices</title><link>https://foojayio.github.io/website/today/native-applications-for-multiple-devices-from-a-single-javafx-project-with-gluon-mobile-and-github-actions/</link><pubDate>Wed, 25 Nov 2020 08:58:00 +0000</pubDate><guid>https://foojayio.github.io/website/today/native-applications-for-multiple-devices-from-a-single-javafx-project-with-gluon-mobile-and-github-actions/</guid><description>&lt;p&gt;The post &lt;a href="https://foojayio.github.io/website/today/starting-a-javafx-project-with-gluon-tools/"&gt;&amp;ldquo;Starting a JavaFX Project with Gluon Tools&amp;rdquo;&lt;/a&gt;
 shows you how to start a Gluon Mobile Multiview project with a few clicks in IntelliJ IDEA thanks to the &lt;a href="https://plugins.jetbrains.com/plugin/7864-gluon" target="_blank" rel="noopener noreferrer"&gt;&amp;ldquo;Gluon plugin&amp;rdquo;&lt;/a&gt;
.&lt;/p&gt;
&lt;p&gt;In this post, we will use such a project and build it with GitHub Actions as a native application for Windows, MacOS, iOS, Linux, and Android from one single code base!&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Yes, that&amp;rsquo;s right!&lt;/p&gt;
&lt;p&gt;True &amp;ldquo;Write Once, Run Everywhere&amp;rdquo;!!!
&lt;img src="https://foojayio.github.io/website/today/native-applications-for-multiple-devices-from-a-single-javafx-project-with-gluon-mobile-and-github-actions/github_actions_gluon_diagram.jpg" alt="" loading="lazy"&gt;
&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id="h2-0-the-application"&gt;The Application&lt;/h2&gt;
&lt;p&gt;This application is built around a Java library I created last year for my book &lt;a href="https://webtechie.be/books/" target="_blank" rel="noopener noreferrer"&gt;&amp;ldquo;Getting Started with Java on the Raspberry Pi&amp;rdquo;&lt;/a&gt;
 which helps you to calculate the value of a resistor from its color rings. This library is further described on &lt;a href="https://webtechie.be/post/2019-11-25-resistor-color-codes-and-calculations-a-java-maven-library/" target="_blank" rel="noopener noreferrer"&gt;&amp;ldquo;Resistor color codes and calculations as a Java Maven library&amp;rdquo;&lt;/a&gt;
.&lt;/p&gt;</description></item><item><title>COVID-19 Time Series Analysis with Software EKG</title><link>https://foojayio.github.io/website/today/covid-19-time-series-analysis-with-software-ekg/</link><pubDate>Fri, 20 Nov 2020 10:55:45 +0000</pubDate><guid>https://foojayio.github.io/website/today/covid-19-time-series-analysis-with-software-ekg/</guid><description>&lt;p&gt;Software-EKG is a powerful tool for time series analysis developed by &lt;a href="http://www.qaware.de/" target="_blank" rel="noopener noreferrer"&gt;QAware Software Engineering&lt;/a&gt;
&lt;em&gt;.&lt;/em&gt; Using a highly efficient search index and optimized algorithms, the tool enables you to both visualize and analyze time series containing billions of values.&lt;/p&gt;
&lt;p&gt;Our special COVID-19 Edition provides you with the latest data on COVID-19 from all countries worldwide. Not only can you get a detailed overview of the Coronavirus pandemic in a single country, it is also possible to compare different countries with each other using a plethora of metrics like positive test rate, population density or even hospital beds available.
&lt;img src="https://foojayio.github.io/website/today/covid-19-time-series-analysis-with-software-ekg/software-ekg-covid-01-1024x555.png" alt="" loading="lazy"&gt;
&lt;/p&gt;</description></item><item><title>Starting a JavaFX Project with Gluon Tools</title><link>https://foojayio.github.io/website/today/starting-a-javafx-project-with-gluon-tools/</link><pubDate>Tue, 17 Nov 2020 08:38:06 +0000</pubDate><guid>https://foojayio.github.io/website/today/starting-a-javafx-project-with-gluon-tools/</guid><description>&lt;p&gt;Here on foojay.io you can already find two posts by Carl Dea to get you started with JavaFX:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href="https://foojayio.github.io/website/blog/beginning-javafx-with-intellij/"&gt;Beginning JavaFX Applications with IntelliJ IDE&lt;/a&gt;
: step-by-step how to start a new JavaFX project without any tools, are by using the Maven and Gradle tools.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://foojayio.github.io/website/blog/a-javafx-app-on-zulufx-in-60-seconds/"&gt;A JavaFX App on ZuluFX in 60 Seconds&lt;/a&gt;
: how to use a popular distribution from &lt;a href="https://www.azul.com/" target="_blank" rel="noopener noreferrer"&gt;Azul&lt;/a&gt;
 to build a JavaFX HelloWorld Application in 60 seconds.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;In this post, I want to show you yet another approach that uses the tools provided by &lt;a href="https://gluonhq.com/" target="_blank" rel="noopener noreferrer"&gt;Gluon&lt;/a&gt;
, who are the maintainers, and the driving force behind &lt;a href="https://openjfx.io/" target="_blank" rel="noopener noreferrer"&gt;OpenJFX&lt;/a&gt;
.&lt;/p&gt;</description></item><item><title>Getting Started with FXGL Game Development</title><link>https://foojayio.github.io/website/today/getting-started-with-fxgl-game-development/</link><pubDate>Thu, 12 Nov 2020 08:24:54 +0000</pubDate><guid>https://foojayio.github.io/website/today/getting-started-with-fxgl-game-development/</guid><description>&lt;p&gt;&lt;a href="https://github.com/AlmasB/FXGL" target="_blank" rel="noopener noreferrer"&gt;FXGL&lt;/a&gt;
 is a Java, JavaFX and Kotlin Game Library (Engine) made by &lt;a href="https://twitter.com/AlmasBaim" target="_blank" rel="noopener noreferrer"&gt;Almas Baimagambetov&lt;/a&gt;
. As my son (almost 10y) challenged me to make a game during my &amp;ldquo;Corona-stay-at-home-time&amp;rdquo;, I had the luck Almas provided me a getting-started with this detailed step-by-step.&lt;/p&gt;
&lt;p&gt;This will be the end result of this tutorial:&lt;/p&gt;
&lt;p&gt;{{}}&lt;/p&gt;
&lt;p&gt;We will make a &lt;em&gt;very&lt;/em&gt; simple clone of Geometry Wars using &lt;a href="https://github.com/AlmasB/FXGL" target="_blank" rel="noopener noreferrer"&gt;FXGL&lt;/a&gt;
, which is a JavaFX game development framework. You can find &lt;a href="https://github.com/FDelporte/FXGLFirstTest" target="_blank" rel="noopener noreferrer"&gt;the finished project of this post on my GitHub&lt;/a&gt;
 as a Maven project.&lt;/p&gt;</description></item><item><title>Details on OpenJDK vs. OpenJFX Release Cycles</title><link>https://foojayio.github.io/website/today/openjdk-vs-openjfx-release-cycles/</link><pubDate>Thu, 29 Oct 2020 14:41:57 +0000</pubDate><guid>https://foojayio.github.io/website/today/openjdk-vs-openjfx-release-cycles/</guid><description>&lt;p&gt;Confused about the release cycles of OpenJDK and OpenJFX and the relationship between them? Read on!&lt;/p&gt;
&lt;h2 id="h2-0-openjdk"&gt;OpenJDK&lt;/h2&gt;
&lt;p&gt;Since 2018, Java switched to a 6-months release cycle. Every new release brings new finished features, but also &amp;ldquo;preview&amp;rdquo; ones which are not finished yet. These can be enabled &lt;a href="https://mkyong.com/java/java-how-to-enable-the-preview-language-features/" target="_blank" rel="noopener noreferrer"&gt;with a flag&lt;/a&gt;
 (`&lt;code&gt;java --enable-preview&lt;/code&gt;`) to allow developers to start experimenting with them and provide feedback to the developers to further improve these so they can become available in one of the next releases.
&lt;img src="https://foojayio.github.io/website/today/openjdk-vs-openjfx-release-cycles/history_java_releases.png" alt="" loading="lazy"&gt;
 Java release history&lt;/p&gt;</description></item><item><title>JavaFX 3D: A Look Back Through History &amp; Some Experiments</title><link>https://foojayio.github.io/website/today/javafx-3d-a-look-back-in-history-and-some-experiments/</link><pubDate>Tue, 27 Oct 2020 09:11:30 +0000</pubDate><guid>https://foojayio.github.io/website/today/javafx-3d-a-look-back-in-history-and-some-experiments/</guid><description>&lt;p&gt;After my virtual conference talk &lt;a href="https://webtechie.be/post/2020-10-21-apacouc-java-and-javafx-on-raspberry-pi/" target="_blank" rel="noopener noreferrer"&gt;&amp;ldquo;Java and JavaFX on the Raspberry Pi&amp;rdquo; at the &amp;ldquo;Oracle Groundbreakers APAC Virtual Tour 2020&amp;rdquo;&lt;/a&gt;
, I got in touch with some people who were working on JavaFX 3D in the past, and were curious how that would behave on the Raspberry Pi.&lt;/p&gt;
&lt;p&gt;Only one way to find out! Let&amp;rsquo;s experiment!&lt;/p&gt;
&lt;h2 id="h2-0-history-of-javafx-3d"&gt;History of JavaFX 3D&lt;/h2&gt;
&lt;p&gt;JavaFX is an open-source, next-generation Java library for rich client applications. JavaFX started with a focus on 2D UI elements.&lt;/p&gt;</description></item><item><title>Spectacular Java Projects on the Raspberry Pi</title><link>https://foojayio.github.io/website/today/spectacular-java-projects-on-the-raspberry-pi/</link><pubDate>Wed, 23 Sep 2020 10:38:17 +0000</pubDate><guid>https://foojayio.github.io/website/today/spectacular-java-projects-on-the-raspberry-pi/</guid><description>&lt;p&gt;Thanks to Twitter and LinkedIn, I&amp;rsquo;ve been in touch with several developers who are doing cool Java stuff on the Raspberry Pi.&lt;/p&gt;
&lt;p&gt;Here I want to share a number of projects with you, as they can be an inspiration for all of us to get started with Java development on the Raspberry Pi!&lt;/p&gt;
&lt;h4 id="igor-souza---kafka-on-the-raspberry-pi"&gt;&lt;a href="https://twitter.com/Igfasouza" target="_blank" rel="noopener noreferrer"&gt;Igor Souza&lt;/a&gt;
 - Kafka on the Raspberry Pi&lt;/h4&gt;
&lt;p&gt;Igor shared this &lt;a href="https://twitter.com/Igfasouza/status/1293514673896202240" target="_blank" rel="noopener noreferrer"&gt;nice video where he set up a Kafka cluster on Raspberry Pi&lt;/a&gt;
. He also has a nice example where this is &lt;a href="https://twitter.com/Igfasouza/status/1297556313518616576" target="_blank" rel="noopener noreferrer"&gt;combined with an e-ink display to show real-time bus information&lt;/a&gt;
. Some of his work is available on GitHub where you can find &lt;a href="https://github.com/igfasouza?tab=repositories" target="_blank" rel="noopener noreferrer"&gt;Kafka and other example code&lt;/a&gt;
.&lt;/p&gt;</description></item><item><title>What's New, Noteworthy, and Enhanced in JavaFX 15?</title><link>https://foojayio.github.io/website/today/whats-new-in-javafx-15/</link><pubDate>Tue, 15 Sep 2020 13:26:28 +0000</pubDate><guid>https://foojayio.github.io/website/today/whats-new-in-javafx-15/</guid><description>&lt;p&gt;A couple of weeks ago, JavaFX version 15 was released.&lt;/p&gt;
&lt;h3 id="h3-0-highlights"&gt;Highlights&lt;/h3&gt;
&lt;p&gt;These are some of the highlights we&amp;rsquo;ve selected for you:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;JavaFX now has 3D support for the newer Intel graphics drivers on Linux,&lt;/li&gt;
&lt;li&gt;Support for e-paper displays on i.MX6 devices was added,&lt;/li&gt;
&lt;li&gt;FX scripting support was enhanced.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="h3-1-enhancements"&gt;Enhancements&lt;/h3&gt;
&lt;p&gt;These are some of the improvements that were implemented in JavaFX 15:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Better native keyboard handling and integration on iOS and Android,&lt;/li&gt;
&lt;li&gt;Adjusted font size in JavaFX apps with enabled Monocle on Raspberry Pi,&lt;/li&gt;
&lt;li&gt;Capped the refresh rate on iOS (to a maximum of 30 Hz).&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="h3-2-code-cleanup"&gt;Code Cleanup&lt;/h3&gt;
&lt;p&gt;With every new release, a code cleanup is done, for instance:&lt;/p&gt;</description></item><item><title>Interview: Frank Delporte, Foojay Raspberry Pi Community Manager</title><link>https://foojayio.github.io/website/today/interview-frank-delporte-foojay-raspberry-pi-community-manager/</link><pubDate>Mon, 07 Sep 2020 13:20:38 +0000</pubDate><guid>https://foojayio.github.io/website/today/interview-frank-delporte-foojay-raspberry-pi-community-manager/</guid><description>&lt;p&gt;&lt;em&gt;Today we&amp;rsquo;d like to introduce a new community manager for all things Raspberry Pi on foojay: Frank Delporte!&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Welcome, Frank!&lt;/strong&gt; &lt;strong&gt;Tell us about yourself. 🙂&lt;/strong&gt;&lt;/p&gt;
&lt;figure class="alignleft size-large is-resized"&gt;
 &lt;img decoding="async" src="pasfoto-2.jpg" alt="" class="wp-image-32891" width="173" height="208"&gt;
&lt;/figure&gt;
&lt;p&gt;Hi, I&amp;rsquo;m Frank Delporte, living in Belgium. I started programming when I was 10 on my Commodore 64.&lt;/p&gt;
&lt;p&gt;I started my professional career as a video editor for television, 25 years ago. I went through all stages from video, multimedia, websites to back-end development using different technologies.&lt;/p&gt;</description></item><item><title>Java 11 &amp; JavaFX 11 on Raspberry Pi with ARMv6 Processor</title><link>https://foojayio.github.io/website/today/java-11-javafx-11-on-raspberry-pi-with-armv6-processor/</link><pubDate>Fri, 04 Sep 2020 08:00:39 +0000</pubDate><guid>https://foojayio.github.io/website/today/java-11-javafx-11-on-raspberry-pi-with-armv6-processor/</guid><description>&lt;p&gt;In a previous post &amp;ldquo;&lt;a href="https://foojayio.github.io/website/blog/installing-java-and-javafx-on-the-raspberry-pi/"&gt;Installing Java and JavaFX on the Raspberry Pi&lt;/a&gt;
&amp;rdquo;, you can read how to install BellSoft LibericaJDK to be able to run JavaFX applications with a graphical user interface on a Raspberry Pi with ARMv7 or ARMv8 processor.&lt;/p&gt;
&lt;p&gt;But this won&amp;rsquo;t work for some (older) versions of the Raspberry Pi, as these use an ARMv6 processor, which is not compatible with the default OpenJDK 11 that is part of Raspbian OS.&lt;/p&gt;</description></item><item><title>Installing Java and JavaFX on the Raspberry Pi</title><link>https://foojayio.github.io/website/today/installing-java-and-javafx-on-the-raspberry-pi/</link><pubDate>Tue, 01 Sep 2020 08:32:24 +0000</pubDate><guid>https://foojayio.github.io/website/today/installing-java-and-javafx-on-the-raspberry-pi/</guid><description>&lt;p&gt;One of the most read articles on my blog is about &lt;a href="https://webtechie.be/post/2019-03-13-pijava-part-2-java-11-on-raspberry-pi-3/" target="_blank" rel="noopener noreferrer"&gt;the installation of a recent Java on Raspberry Pi (March 13, 2019)&lt;/a&gt;
, so it was time for an update, which is here republished on foojay.&lt;/p&gt;
&lt;p&gt;Disclaimer: &lt;strong&gt;this article is only valid for Raspberry Pi&amp;rsquo;s with an ARMv7 or ARMv8 processor&lt;/strong&gt; . In the &lt;a href="https://en.wikipedia.org/wiki/Raspberry_Pi#Specifications" target="_blank" rel="noopener noreferrer"&gt;Raspberry Pi specifications table on Wikipedia&lt;/a&gt;
, you get a clear overview of the Pi-types with this processor:&lt;/p&gt;</description></item><item><title>How to get a JavaFX App on ZuluFX in 60 Seconds</title><link>https://foojayio.github.io/website/today/a-javafx-app-on-zulufx-in-60-seconds/</link><pubDate>Sun, 23 Aug 2020 06:57:41 +0000</pubDate><guid>https://foojayio.github.io/website/today/a-javafx-app-on-zulufx-in-60-seconds/</guid><description>&lt;figure class="alignleft is-resized"&gt;
 &lt;img fetchpriority="high" decoding="async" src="https://carlfx.files.wordpress.com/2020/08/duke_azul_jfx_shirt.png?w=174" alt="Duke's shirt with Azul and JavaFX." class="wp-image-3276" width="174" height="313"&gt;
&lt;/figure&gt;
&lt;p&gt;Most Java developers probably know by now that &lt;a href="https://www.oracle.com/" target="_blank" rel="noopener noreferrer"&gt;Oracle&lt;/a&gt;
 has open sourced the Java JDK and hosted its source code on &lt;a href="https://github.com/openjdk" target="_blank" rel="noopener noreferrer"&gt;Github&lt;/a&gt;
 (aka &lt;a href="https://openjdk.java.net/projects/skara/" target="_blank" rel="noopener noreferrer"&gt;Project Skara&lt;/a&gt;
).&lt;/p&gt;
&lt;p&gt;Oracle encourages companies to get paid &lt;a href="https://www.oracle.com/java/java-se-subscription.html" target="_blank" rel="noopener noreferrer"&gt;support&lt;/a&gt;
for their LTS (Long-term support) versions of the JDK, however for the mass majority of developers (like myself), who still want to enjoy free versions of the latest JDK and JavaFX, we can now get distributions from third-party vendors or build it ourselves (&lt;a href="https://github.com/openjdk" target="_blank" rel="noopener noreferrer"&gt;OpenJDK&lt;/a&gt;
 / &lt;a href="https://github.com/openjdk/jfx" target="_blank" rel="noopener noreferrer"&gt;OpenJFX&lt;/a&gt;
).&lt;/p&gt;</description></item></channel></rss>