<?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://foojay.io/today/category/javafx/</link><description>Recent content in JavaFX on foojay.io - Friends Of OpenJDK</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Mon, 02 Nov 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://foojay.io/today/category/javafx/index.xml" rel="self" type="application/rss+xml"/><item><title>Building a GlassPaneBase Control in JavaFX</title><link>https://foojay.io/today/building-a-glasspanebase-control-in-javafx/</link><pubDate>Mon, 02 Nov 2026 00:00:00 +0000</pubDate><guid>https://foojay.io/today/building-a-glasspanebase-control-in-javafx/</guid><description>&lt;p&gt;Glassmorphism remains one of the most requested visual styles in modern desktop applications. Soft translucency, subtle depth and clean borders create a sense of polish that opaque panels rarely achieve.&lt;/p&gt;&#10;&lt;p&gt;JavaFX does not provide a built-in glass surface. Creating one that feels professional requires more than a semi-transparent background and a blur effect. It needs a clean public API, a well-structured skin, and the ability to host real content.&lt;/p&gt;&#10;&lt;p&gt;This article shows how to build a reusable &lt;code&gt;GlassPaneBase&lt;/code&gt; control that can serve as the foundation for cards, side panels, dialogs and any surface that should look like frosted glass. The same approach is used in the Vitra UI library.&lt;/p&gt;</description></item><item><title>JavaFX Links of October 2026</title><link>https://foojay.io/today/javafx-links-of-october-2026/</link><pubDate>Sat, 31 Oct 2026 00:00:00 +0000</pubDate><guid>https://foojay.io/today/javafx-links-of-october-2026/</guid><description>&lt;p&gt;Here are the JavaFX LinksOfTheMonth of October 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="mailto:links@jfx-central.com"&gt;links@jfx-central.com&lt;/a&gt;.&lt;/p&gt;&#10;&lt;h2 id="core"&gt;Core&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://www.linkedin.com/in/john-hendrikx-0baa8819/" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;John Hendrikx&lt;/strong&gt;&lt;/a&gt; integrated &lt;a href="https://marc.info/?l=openjdk-openjfx-dev&amp;amp;m=179205301698593&amp;amp;w=2" target="_blank" rel="noopener noreferrer"&gt;JDK-8290310: ChangeListener events are incorrect&lt;/a&gt; into OpenJFX. The related review thread (&lt;a href="https://marc.info/?l=openjdk-openjfx-dev&amp;amp;m=179207446523885&amp;amp;w=2" target="_blank" rel="noopener noreferrer"&gt;RFR: 8290310&lt;/a&gt;) ran to over 50 messages.&#10;&lt;ul&gt;&#10;&lt;li&gt;Remarkable comment by &lt;strong&gt;mstr2&lt;/strong&gt; in the &lt;a href="https://github.com/openjdk/jfx/pull/1081" target="_blank" rel="noopener noreferrer"&gt;pull request&lt;/a&gt;: &amp;ldquo;&lt;em&gt;Through every release and across time, this PR has always stood firm. Like a solid rock in a sea of change. Contributors came and went. JDKs grew old. But this PR remained. At some point, we stopped thinking of it as pending work, and started seeing it as a precious landmark. And now, an era has come to an end. We had prepared for another review round, but we had not prepared for closure.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Johan Vos&lt;/strong&gt; &lt;a href="https://mastodon.social/@johanvos/117474447449778114" target="_blank" rel="noopener noreferrer"&gt;announced&lt;/a&gt; the CPU releases JavaFX 17.0.21, 21.0.13, 25.0.5 and 27.0.1. All builds are available for free, with &lt;a href="https://gluonhq.com/products/javafx" target="_blank" rel="noopener noreferrer"&gt;commercial support available from Gluon&lt;/a&gt;. &amp;ldquo;&lt;em&gt;This release is packed with security fixes that I had to inspect line by line. To me, it was the hardest one ever, but I&amp;rsquo;m happy with the result.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;&#10;&lt;li&gt;From the OpenJFX Dev mailing list:&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://www.mail-archive.com/openjfx-dev@openjdk.org/msg30549.html" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;OpenJFX team&lt;/strong&gt; integrated RichTextArea image import support&lt;/a&gt;: JDK-8388276 lands the ability to import images into the &lt;code&gt;RichTextArea&lt;/code&gt; control.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://www.mail-archive.com/openjfx-dev@openjdk.org/msg30556.html" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;OpenJFX team&lt;/strong&gt; fixed stale TableView cells after refresh()&lt;/a&gt;: JDK-8394617 resolves a bug where &lt;code&gt;TableView.refresh()&lt;/code&gt; left stale cells in the VirtualFlow pile, showing old content when scrolled back into view.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://www.mail-archive.com/openjfx-dev@openjdk.org/msg30595.html" target="_blank" rel="noopener noreferrer"&gt;OpenJFX integrates D3D9 lighting cache optimization (JDK-8392736)&lt;/a&gt;: A change was integrated into the OpenJFX mainline that caches lights instead of reuploading them to the GPU on every call, improving Direct3D9 rendering performance.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://www.mail-archive.com/openjfx-dev@openjdk.org/msg30638.html" target="_blank" rel="noopener noreferrer"&gt;JavaFX on Wayland — A Working Proof of Concept&lt;/a&gt; was shared on the openjfx-dev mailing list: a community contributor presented a working proof of concept demonstrating native Wayland support for JavaFX, a long-requested capability for Linux desktops.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://www.mail-archive.com/openjfx-dev@openjdk.org/msg30688.html" target="_blank" rel="noopener noreferrer"&gt;Integrated: 8384258: Memory Leak in ListenerHelper&lt;/a&gt;: A fix for a memory leak in JavaFX&amp;rsquo;s internal &lt;code&gt;ListenerHelper&lt;/code&gt; has been integrated into OpenJFX.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://www.mail-archive.com/openjfx-dev@openjdk.org/msg30689.html" target="_blank" rel="noopener noreferrer"&gt;Integrated: 8264588: Double clicking a word in TextArea selects wrong word&lt;/a&gt;: A fix for incorrect word selection when double-clicking inside a &lt;code&gt;TextArea&lt;/code&gt; has been integrated into OpenJFX.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="applications"&gt;Applications&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://bsky.app/profile/maxiong.bsky.social/post/3mwrwlzd4yk2d" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Max Xiong&lt;/strong&gt; shared a new screenshot&lt;/a&gt; of DataCollie, his ongoing #BuildInPublic project, noting that &amp;ldquo;&lt;em&gt;PostgreSQL&amp;rsquo;s privilege management is much more complex than MySQL&amp;rsquo;s. Still, I&amp;rsquo;m making a little progress every day.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Mike&lt;/strong&gt; built &lt;a href="https://www.kookaklunka.com/klunk/" target="_blank" rel="noopener noreferrer"&gt;Klunk&lt;/a&gt;, a JavaFX log viewer for making large logs easier to navigate and search. It merges logs from files, databases, Kubernetes pods, SFTP and HTTP into one color-coded stream, with SQL-like filtering, bookmarks, real-time tailing and SQLite-backed handling of millions of rows. Free to use, with bundled runtime for Windows, Linux and (untested) macOS.&lt;/li&gt;&#10;&lt;li&gt;Following up on last week&amp;rsquo;s &lt;a href="https://bsky.app/profile/afparks.bsky.social/post/3mxcv2dkork2h" target="_blank" rel="noopener noreferrer"&gt;internal JavaFX tool for automated test recording of temporary power equipment&lt;/a&gt;, &lt;strong&gt;@afparks&lt;/strong&gt; shared &lt;a href="https://bsky.app/profile/afparks.bsky.social/post/3mxp74qb5422m" target="_blank" rel="noopener noreferrer"&gt;two new videos&lt;/a&gt;. The latest shows the new users and roles pages, with a permissions table that has sticky headers staying in place while scrolling, and an overlapping scroll bar that floats over the rows instead of taking up space on the right.&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Frank Delporte&lt;/strong&gt; &lt;a href="https://webtechie.be/post/melodymatrix-2.0.0-learn-section-fly-over-3d-sheet-music-and-audio-to-midi/" target="_blank" rel="noopener noreferrer"&gt;released MelodyMatrix 2.0.0&lt;/a&gt; with a new Learn section with lesson cards tracking level, duration and progress, a Fly-Over view showing the sheet music in 3D with notes highlighted during playback, and a Convert feature that turns mp3, wav and other audio files into MIDI locally.&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;AsharPeshimam&lt;/strong&gt; &lt;a href="https://www.reddit.com/r/JavaFX/comments/1xahf70/i_just_published_my_java_pdf_app_on_the_microsoft/" target="_blank" rel="noopener noreferrer"&gt;published a Java PDF app on the Microsoft Store&lt;/a&gt;, shared the story on r/JavaFX, and asks for feedback.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://www.reddit.com/r/JavaFX/comments/1x9emky/i_made_klunk_a_javafx_log_viewing_application/" target="_blank" rel="noopener noreferrer"&gt;Klunk, a JavaFX log viewing application&lt;/a&gt; was shared on r/JavaFX by &lt;strong&gt;XenFive&lt;/strong&gt;. &amp;ldquo;&lt;em&gt;It’s currently beta, but I use it daily without issues and figured others might find it useful too. Happy to hear feedback, bug reports, or feature ideas.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://bsky.app/profile/maxiong.bsky.social/post/3myumzn6upk2e" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Max Xiong&lt;/strong&gt; is preparing to launch DataCollie&lt;/a&gt;, his database client built with JavaFX, after a long #BuildInPublic journey: &amp;ldquo;&lt;em&gt;Doing some final prep before launching DataCollie. So many edge cases to handle!&lt;/em&gt;&amp;rdquo;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="games"&gt;Games&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;strong&gt;Anahata ASI&lt;/strong&gt; shared a video, &lt;a href="https://www.youtube.com/watch?v=1jmHhGQDs9o" target="_blank" rel="noopener noreferrer"&gt;Pure JavaFX Lemmings Cyber-Arcade Edition | 60 FPS Recreation (Level 1: Just Dig!)&lt;/a&gt;, a pure JavaFX recreation of the classic Lemmings game running at 60 FPS.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://www.reddit.com/r/JavaFX/comments/1wv9wzc/pure_javafx_minecraft_running_on_netbeans_31s_jvm/" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Artistic_Solution117&lt;/strong&gt; shared on Reddit&lt;/a&gt; a &amp;ldquo;pure JavaFX&amp;rdquo; Minecraft demo running on NetBeans 31&amp;rsquo;s JVM, with bytecode dynamically generated by Gemini 3.8 Flash: 9 Java classes (27K tokens), with no &lt;code&gt;.java&lt;/code&gt; or &lt;code&gt;.class&lt;/code&gt; file written to disk — in-memory JIT compilation and classloading. More JavaFX demos on the &lt;a href="https://www.youtube.com/watch?v=76pWS0WFu_U" target="_blank" rel="noopener noreferrer"&gt;YouTube channel&lt;/a&gt;.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://bsky.app/profile/hallvard.bsky.social/post/3myk3zjzuhjlq" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Hallvard Trætteberg&lt;/strong&gt; shared RiskFX&lt;/a&gt;, an implementation of the Risk world domination game in JavaFX, with a workflow for making an Android version. It includes an AI opponent with a rig for reinforcement learning. &amp;ldquo;&lt;em&gt;The core is old code written by me, but the rest has Claude helped me implement.&lt;/em&gt;&amp;rdquo; Sources are &lt;a href="https://github.com/hallvard/riskfx" target="_blank" rel="noopener noreferrer"&gt;on GitHub&lt;/a&gt;.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="components-libraries-tools"&gt;Components, Libraries, Tools&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;strong&gt;Frank Delporte&lt;/strong&gt; released version 1.2.6 of Lottie4J, the library to parse, generate &amp;amp; play Lottie animations natively in JavaFX. &amp;ldquo;&lt;em&gt;It&amp;rsquo;s a minor update which reduces the logging when animations are started and stopped. Thanks to &lt;strong&gt;David Gerber&lt;/strong&gt; for the merge request.&lt;/em&gt;&amp;rdquo; All info on the &lt;a href="https://lottie4j.com/releases/" target="_blank" rel="noopener noreferrer"&gt;Lottie4J website&lt;/a&gt;.&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Frank Delporte&lt;/strong&gt; announced a new version of &lt;a href="https://lottie4j.com/" target="_blank" rel="noopener noreferrer"&gt;Lottie4J&lt;/a&gt;, the Java and JavaFX library to render Lottie animations. &amp;ldquo;&lt;em&gt;Release 1.2.7 doesn’t bring new features, but focuses fully on performance. Improvements: image assets are decoded once, and optimized track mattes.&lt;/em&gt;&amp;rdquo; Read more &lt;a href="https://webtechie.be/post/lottie4j-1.2.7-a-performance-release/" target="_blank" rel="noopener noreferrer"&gt;on this blog post&lt;/a&gt;.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://lnkd.in/p/ejR5-GFK" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Mohd Dilshad Khan&lt;/strong&gt; shared a tip on switching themes while a Java app is running&lt;/a&gt;, without a restart or losing state. In JavaFX it comes down to replacing the stylesheet on the scene with &lt;code&gt;scene.getStylesheets().setAll(...)&lt;/code&gt;, so themes live in CSS files a designer can tweak. For Swing, FlatLaf offers the same with &lt;code&gt;FlatDarkLaf.setup()&lt;/code&gt; and &lt;code&gt;FlatLaf.updateUI()&lt;/code&gt;. You can find his &lt;a href="https://github.com/mohddilshadkhan2003/theme-hot-swap" target="_blank" rel="noopener noreferrer"&gt;project on GitHub&lt;/a&gt;.&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Frank Delporte&lt;/strong&gt; announced version &lt;a href="https://sheetmusic4j.com/status/2026/20261016-release-0.0.4/" target="_blank" rel="noopener noreferrer"&gt;0.0.4&lt;/a&gt; and &lt;a href="https://sheetmusic4j.com/status/2026/20261021-release-0.0.5/" target="_blank" rel="noopener noreferrer"&gt;0.0.5&lt;/a&gt; of Sheetmusic4J, the library to parse and render sheet music natively in Java/JavaFX. These releases include new Node-based and 3D fly-over views, and add support for the LilyPond format: &amp;ldquo;&lt;em&gt;load such a file and render it natively in JavaFX, without running LilyPond.&lt;/em&gt;&amp;rdquo; It also brings engraving improvements like better tuplet placement and octave clef support. A video with a demo of the new views is &lt;a href="https://www.youtube.com/watch?v=8n7WONyX0yk" target="_blank" rel="noopener noreferrer"&gt;available on YouTube&lt;/a&gt;.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://sheetmusic4j.com/" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Frank Delporte&lt;/strong&gt; released Sheetmusic4J 0.0.5 with LilyPond import/export&lt;/a&gt;: Adds LilyPond (.ly) import/export through the unified ScoreFile facade via a parser/interpreter/assembler pipeline, plus engraving improvements such as better tuplet placement and octave clef support — building on the earlier 0.0.4 release, which added the clickable/draggable NodeSheetView and 3D FlyOverSheetView.&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Libán Bande González&lt;/strong&gt; &lt;a href="https://foojay.io/today/announcing-vitra-modern-ui-library-for-javafx/"&gt;announced Vitra&lt;/a&gt;, a modern UI library for JavaFX with Gantt, Kanban, calendar, charts, Fluent-inspired materials, glass surfaces and custom windows. All controls support CSS and runtime theme switching, and there are no external dependencies. More info is &lt;a href="https://skinning-javafx-applications.netlify.app" target="_blank" rel="noopener noreferrer"&gt;on the website&lt;/a&gt;.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="podcasts-videos-books"&gt;Podcasts, Videos, Books&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;strong&gt;Josh Long&lt;/strong&gt; features &lt;strong&gt;Andres Almiray&lt;/strong&gt; in &lt;a href="https://ms.podbean.com/media/share/pb-uv35s-1b73a7f" target="_blank" rel="noopener noreferrer"&gt;a Spring Office Hours podcast episode&lt;/a&gt;. A wide-ranging, high-energy conversation about the future of desktop Java, the pain of Electron, the elegance of JavaFX, and JReleaser — the tool that helps Java projects publish releases, package native installers, generate distribution bundles, compute signatures and checksums, and automate releases across GitHub, GitLab, Maven Central, and more.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://foojay.io/today/announcing-skinning-javafx-applications/"&gt;&lt;strong&gt;Libán Bande González&lt;/strong&gt; announced his book &amp;ldquo;Skinning JavaFX Applications&amp;rdquo;&lt;/a&gt;, &amp;ldquo;&lt;em&gt;a practical, code-first book built from years of shipping real desktop business applications,&lt;/em&gt;&amp;rdquo; focused on the Control-Skin architecture for building custom controls and skins. It covers custom window chrome, runtime theme switching, modern design materials like Mica and Acrylic from Fluent Design, and micro-interactions, arguing that &amp;ldquo;CSS is not enough&amp;rdquo; to make JavaFX apps look like modern Microsoft or JetBrains interfaces. More info on the &lt;a href="https://skinning-javafx-applications.netlify.app" target="_blank" rel="noopener noreferrer"&gt;book&amp;rsquo;s website&lt;/a&gt;.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://airhacks.fm/#episode_419" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Adam Bien&lt;/strong&gt; talks with guest &lt;strong&gt;Ingo Kegel&lt;/strong&gt; on airhacks.fm #419: &amp;ldquo;Agents Have No Runtime Insight&amp;rdquo;&lt;/a&gt;: Discusses giving AI coding agents JVM runtime insight through a JProfiler MCP server, including how an agent loop was used to double jclasslib&amp;rsquo;s performance by outperforming ASM&amp;rsquo;s bytecode parser, alongside memory-profiling fundamentals like dominator trees. They also touch on a possible Swing and JavaFX revival, because both ship with Java and LLMs know them well.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="tutorials"&gt;Tutorials&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;strong&gt;Sombriks&lt;/strong&gt; wrote &lt;a href="https://sombriks.com.br/blog/0097-state-of-java-desktop/" target="_blank" rel="noopener noreferrer"&gt;The state of java desktop&lt;/a&gt;, comparing Swing, JavaFX, SWT, and TamboUI through a small todo app example, noting jpackage has made distributing Java desktop apps practical, and describing JavaFX as &amp;ldquo;the really modern one&amp;rdquo; with native property bindings, cleaner event handling, and CSS-styled scene graph, best suited &amp;ldquo;for really big projects&amp;rdquo;.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://foojay.io/today/building-a-javafx-code-editor-control/"&gt;&lt;strong&gt;Libán Bande González&lt;/strong&gt; wrote &amp;ldquo;Building a JavaFX Code Editor Control&amp;rdquo;&lt;/a&gt;, showing how to build a code editor with the Control/Skin architecture: virtualized line numbers, regex-based syntax highlighting, bracket matching, multi-cursor editing, undo/redo, and autocomplete. The code and gutter are two synchronized &lt;code&gt;ListView&lt;/code&gt;s so line numbers stay fixed during horizontal scrolling. The full implementation is part of his book &amp;ldquo;Skinning JavaFX Applications&amp;rdquo;.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://sosuisen.net/posts/javafx-on-vscode/" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;sosuisen&lt;/strong&gt; published &amp;ldquo;JavaFX Getting Started with VS Code&amp;rdquo;&lt;/a&gt; on his renewed personal website. The article was originally written for JFX Central and was rewritten for Japanese readers and his students. The page has a toggle between Japanese and English. &lt;a href="https://bsky.app/profile/sosuisen.bsky.social/post/3myom5czros2q" target="_blank" rel="noopener noreferrer"&gt;Announcement on Bluesky&lt;/a&gt;.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="miscellaneous"&gt;Miscellaneous&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://www.reddit.com/r/JavaFX/comments/1wpucad/best_way_to_store_session_tokens_securely_in/" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Old_Assistance7&lt;/strong&gt; asked on Reddit&lt;/a&gt; about the best way to securely store session tokens in a JavaFX app using native OS credential stores (Windows DPAPI/Credential Manager, macOS Keychain, Linux Secret Service). Commenters suggested wrapping the native stores behind a &amp;ldquo;CredentialStore&amp;rdquo; abstraction, recommended libraries like &lt;a href="https://github.com/javakeyring/java-keyring" target="_blank" rel="noopener noreferrer"&gt;java-keyring&lt;/a&gt;, and pointed to the Foreign Function &amp;amp; Memory API (&lt;a href="https://openjdk.org/jeps/454" target="_blank" rel="noopener noreferrer"&gt;JEP 454&lt;/a&gt;) as a modern alternative to JNA for calling into native code.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://bsky.app/profile/afparks.bsky.social/post/3mxcv2dkork2h" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;@afparks&lt;/strong&gt; is building an internal JavaFX tool for automated test recording of temporary power equipment&lt;/a&gt;, with a video of the login screen. The sign-in screens use the new &lt;code&gt;StageStyle.EXTENDED&lt;/code&gt; for seamless window controls and &lt;a href="https://lottie4j.com/" target="_blank" rel="noopener noreferrer"&gt;Lottie4J&lt;/a&gt; for the animation playback.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://www.reddit.com/r/JavaFX/comments/1xiw5x6/i_save_35_gb_of_ram_by_migrating_all_my_chat_apps/" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Ivan Velikanov&lt;/strong&gt; shared how he saved 3.5 GB of RAM by migrating chat apps and a terminal to JavaFX&lt;/a&gt;: On r/JavaFX a discussion about JavaFX versions of WhatsApp, Slack, VS Code and a few other browser-engine/Electron apps. JavaFX-based versions are much snappier, using the serial GC in most cases. The WhatsApp version is built on &lt;a href="https://github.com/tulir/whatsmeow" target="_blank" rel="noopener noreferrer"&gt;whatsmeow&lt;/a&gt;, and the Slack version and terminal are planned to be shared via &lt;a href="https://fxslack.github.io" target="_blank" rel="noopener noreferrer"&gt;fxslack.github.io&lt;/a&gt;, which was still empty at the time of posting.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="jfx-central"&gt;JFX Central&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;The links of September got bundled in a &lt;a href="https://foojay.io/today/javafx-links-of-september-2026/"&gt;monthly overview on Foojay&lt;/a&gt;.&lt;/li&gt;&#10;&lt;/ul&gt;</description></item><item><title>Announcing Vitra – A Modern UI Library for JavaFX</title><link>https://foojay.io/today/announcing-vitra-modern-ui-library-for-javafx/</link><pubDate>Wed, 28 Oct 2026 00:00:00 +0000</pubDate><guid>https://foojay.io/today/announcing-vitra-modern-ui-library-for-javafx/</guid><description>&lt;p&gt;Building a polished desktop application with JavaFX still requires more work than it should. CSS can change colours and fonts, but it quickly reaches its limits when you need custom window chrome, glass surfaces, advanced charts, or controls that simply do not exist in the platform.&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Vitra&lt;/strong&gt; was created to close that gap.&lt;/p&gt;&#10;&lt;p&gt;It is a focused UI library that provides a set of modern, production-ready controls and surfaces designed specifically for contemporary JavaFX applications. Every component follows the Control–Skin architecture, supports runtime theme switching, and is built to integrate cleanly with existing codebases.&lt;/p&gt;</description></item><item><title>Sheetmusic4J 0.0.5: LilyPond Import and Export</title><link>https://foojay.io/today/sheetmusic4j-0-0-5-lilypond-import-and-export/</link><pubDate>Sun, 25 Oct 2026 00:00:00 +0000</pubDate><guid>https://foojay.io/today/sheetmusic4j-0-0-5-lilypond-import-and-export/</guid><description>&lt;p&gt;&lt;a href="https://sheetmusic4j.com/" target="_blank" rel="noopener noreferrer"&gt;Sheetmusic4J&lt;/a&gt; is a Java(FX) library to render and interact with sheet music. After MusicXML, MIDI, ABC and Guitar Pro, version &lt;strong&gt;0.0.5&lt;/strong&gt; adds another format: &lt;a href="https://sheetmusic4j.com/inspired-by/lilypond/" target="_blank" rel="noopener noreferrer"&gt;LilyPond&lt;/a&gt;.&lt;/p&gt;&#10;&lt;p&gt;Thanks to Dani_E2e on &lt;a href="https://www.reddit.com/r/java/comments/1vapmf2/comment/p0ppvzf/" target="_blank" rel="noopener noreferrer"&gt;Reddit&lt;/a&gt; and Jurgen Lambrecht for suggesting LilyPond support!&lt;/p&gt;&#10;&lt;div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;"&gt;&#10;&#9;&#9;&#9;&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/8n7WONyX0yk?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;&#10;&#9;&#9;&lt;/div&gt;&#10;&#10;&lt;h2 id="what-is-lilypond"&gt;What Is LilyPond?&lt;/h2&gt;&#10;&lt;p&gt;&lt;a href="https://lilypond.org/" target="_blank" rel="noopener noreferrer"&gt;LilyPond&lt;/a&gt; is the free, text-based engraving program that many musicians and publishers use for beautiful printed scores. You write the music as plain text in a &lt;code&gt;.ly&lt;/code&gt; file, and LilyPond compiles it into a PDF. A lot of classical repertoire, from Bach chorales to full orchestral scores, is available as &lt;code&gt;.ly&lt;/code&gt; source, for example at the &lt;a href="https://www.mutopiaproject.org/" target="_blank" rel="noopener noreferrer"&gt;Mutopia Project&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Lottie4J 1.2.7: A Performance Release</title><link>https://foojay.io/today/lottie4j-1-2-7-a-performance-release/</link><pubDate>Sun, 18 Oct 2026 00:00:00 +0000</pubDate><guid>https://foojay.io/today/lottie4j-1-2-7-a-performance-release/</guid><description>&lt;div class="paragraph"&gt;&#10;&lt;p&gt;A new version of &lt;a href="https://lottie4j.com/"&gt;Lottie4J&lt;/a&gt;, the Java and JavaFX library to render Lottie animations, is available. &lt;a href="https://lottie4j.com/status/2026/20261014-release-1.2.7/"&gt;Release 1.2.7&lt;/a&gt; doesn’t bring new features, but focuses fully on performance.&lt;/p&gt;&#10;&lt;/div&gt;&#10;&lt;div class="admonitionblock important"&gt;&#10;&lt;table&gt;&#10;&lt;tbody&gt;&lt;tr&gt;&#10;&lt;td class="icon"&gt;&#10;&lt;div class="title"&gt;Important&lt;/div&gt;&#10;&lt;/td&gt;&#10;&lt;td class="content"&gt;&#10;&lt;div class="paragraph"&gt;&#10;&lt;p&gt;&lt;strong&gt;USE 1.2.8&lt;/strong&gt;&lt;/p&gt;&#10;&lt;/div&gt;&#10;&lt;div class="paragraph"&gt;&#10;&lt;p&gt;The reuse of snapshot images in the matte renderer introduced a regression: animations with track mattes of different sizes could show horizontal streaks during playback (&lt;a href="https://github.com/lottie4j/lottie4j/issues/12"&gt;issue #12&lt;/a&gt;). This is fixed in &lt;a href="https://lottie4j.com/releases/#2026-10-15-128"&gt;Lottie4J 1.2.8&lt;/a&gt;, so please use that version instead of 1.2.7.&lt;/p&gt;&#10;&lt;/div&gt;&#10;&lt;/td&gt;&#10;&lt;/tr&gt;&#10;&lt;/tbody&gt;&lt;/table&gt;&#10;&lt;/div&gt;</description></item><item><title>Building a Code Editor Control in JavaFX</title><link>https://foojay.io/today/building-a-javafx-code-editor-control/</link><pubDate>Tue, 06 Oct 2026 00:00:00 +0000</pubDate><guid>https://foojay.io/today/building-a-javafx-code-editor-control/</guid><description>&lt;p&gt;JavaFX doesn&amp;rsquo;t ship with a code-editor control, and &lt;code&gt;TextArea&lt;/code&gt; isn&amp;rsquo;t built to grow into one — no per-character styling, no gutter, no virtualization tuned for thousands of lines. Building a real one means going back to &lt;code&gt;Control&lt;/code&gt; + &lt;code&gt;Skin&lt;/code&gt; and constructing the editor surface yourself. This post walks through several pieces of a custom editor control.&lt;/p&gt;&#10;&lt;h2 id="the-core-idea-two-virtualized-lists-not-one"&gt;The core idea: two virtualized lists, not one&lt;/h2&gt;&#10;&lt;p&gt;The instinctive design is a single &lt;code&gt;ListView&amp;lt;String&amp;gt;&lt;/code&gt;, one row per line, with each row containing both the line number and the code. This approach has a drawback: when the user scrolls horizontally, the line numbers disappear.&lt;/p&gt;</description></item><item><title>Announcing 'Skinning JavaFX Applications'</title><link>https://foojay.io/today/announcing-skinning-javafx-applications/</link><pubDate>Thu, 01 Oct 2026 00:00:00 +0000</pubDate><guid>https://foojay.io/today/announcing-skinning-javafx-applications/</guid><description>&lt;p&gt;If you&amp;rsquo;ve ever tried to make a JavaFX application look like Microsoft or JetBrains, you know that CSS is not enough. &lt;em&gt;Skinning JavaFX Applications&lt;/em&gt; is my attempt to close that gap — a practical, code-first book built from years of shipping real desktop business applications.&lt;/p&gt;&#10;&lt;p&gt;The main purpose of this book is to cover the Control-Skin architecture, so you can create your own custom controls and skins. We&amp;rsquo;ll cover how to implement custom window chrome, runtime theme switching, Fluent Design materials like Mica and Acrylic, and a full set of micro-interactions.&lt;/p&gt;</description></item><item><title>JavaFX Links of September 2026</title><link>https://foojay.io/today/javafx-links-of-september-2026/</link><pubDate>Wed, 30 Sep 2026 00:00:00 +0000</pubDate><guid>https://foojay.io/today/javafx-links-of-september-2026/</guid><description>&lt;p&gt;Here are the JavaFX LinksOfTheMonth of September 2026. This was a big month with the release of JavaFX 27!&lt;/p&gt;&#10;&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="mailto:links@jfx-central.com"&gt;links@jfx-central.com&lt;/a&gt;.&lt;/p&gt;&#10;&lt;h2 id="core"&gt;Core&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;From the OpenJFX mailing list:&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;strong&gt;Alexander Zuev&lt;/strong&gt; integrated &lt;a href="https://marc.info/?l=openjdk-openjfx-dev&amp;amp;m=178836230081558&amp;amp;w=2" target="_blank" rel="noopener noreferrer"&gt;8384483: Create implementation of NSAccessibilityTable protocol&lt;/a&gt;, a 585-line addition across 11 files that gives macOS proper accessibility support for tables and lists: &amp;ldquo;&lt;em&gt;To preserve functionality the separate native peers for tables and lists are created; the list peer for now reports its role as a table for backward compatibility, that can be changed later; fixed the long existed bug where table reported incorrectly currently selected rows.&lt;/em&gt;&amp;rdquo; Reviewed by &lt;strong&gt;Andy Goryachev&lt;/strong&gt; and &lt;strong&gt;Ambarish Rapte&lt;/strong&gt;. &lt;a href="https://git.openjdk.org/jfx/pull/2217" target="_blank" rel="noopener noreferrer"&gt;PR #2217&lt;/a&gt; — &lt;a href="https://git.openjdk.org/jfx/commit/67853fbf55117f92d0fabcc02798a1115837e2e5" target="_blank" rel="noopener noreferrer"&gt;changeset 67853fbf&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://www.reddit.com/r/JavaFX/comments/1w4o4t0/what_is_the_future_of_javafx_looking_like/" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Gufran Thakur&lt;/strong&gt; asks on Reddit&lt;/a&gt;: &amp;ldquo;&lt;em&gt;What is the future of JavaFX looking like?&lt;/em&gt;&amp;rdquo; A lot of interesting answers already. Want to add yours? And, thank you &lt;strong&gt;Marius Hanl&lt;/strong&gt;, for mentioning &lt;strong&gt;JFX Central&lt;/strong&gt; in your answer, we appreciate it! :-)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="http://www.mail-archive.com/openjfx-dev@openjdk.org/msg29287.html" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Jose Pereda&lt;/strong&gt; integrated 8391779: JVM crashes after copy key event on focused WebView that has no selection&lt;/a&gt;: &amp;ldquo;&lt;em&gt;This PR adds a guard to WebKit/EditorJava.cpp, to prevent passing an empty selection to the pasteboard, that would cause an immediate JVM termination, when firing a copy key event over a focused WebView that has no selection.&lt;/em&gt;&amp;rdquo; Reviewed and integrated on 8 September. (&lt;a href="https://git.openjdk.org/jfx/pull/2241" target="_blank" rel="noopener noreferrer"&gt;PR on GitHub&lt;/a&gt;)&lt;/li&gt;&#10;&lt;li&gt;Release cycle note: the cutoff for backports into &lt;strong&gt;JavaFX 27.0.1&lt;/strong&gt; was 7 September, and &lt;a href="http://www.mail-archive.com/openjfx-dev@openjdk.org/msg28928.html" target="_blank" rel="noopener noreferrer"&gt;jfx27u is now open for 27.0.2 fixes&lt;/a&gt; — announced by &lt;strong&gt;Kevin Rushforth&lt;/strong&gt;, version bump &lt;a href="http://www.mail-archive.com/openjfx-dev@openjdk.org/msg29269.html" target="_blank" rel="noopener noreferrer"&gt;integrated by &lt;strong&gt;Ambarish Rapte&lt;/strong&gt;&lt;/a&gt; on 8 September.&lt;/li&gt;&#10;&lt;li&gt;The &lt;a href="https://github.com/openjdk/jfx/blob/master/doc-files/release-notes-27.md" target="_blank" rel="noopener noreferrer"&gt;Release Notes for JavaFX 27&lt;/a&gt; are available in the OpenJFX repository and list everything that went into this release: 7 new features, 20 other enhancements, 77 bug fixes and 6 security fixes.&lt;/li&gt;&#10;&lt;li&gt;The &lt;strong&gt;Gluon Team&lt;/strong&gt; published &lt;a href="https://gluonhq.com/news/2026-09-15-javafx-27-is-now-available/" target="_blank" rel="noopener noreferrer"&gt;JavaFX 27 is Now Available&lt;/a&gt; with an overview of the release: the Metal rendering pipeline as the new default on macOS, conditional stylesheets and media queries in CSS, JavaFX controls in the window title bar, the RichTextArea additions, and over 70 bug fixes and control performance improvements. Two things to check before upgrading: JavaFX 27 is compiled with &lt;code&gt;--release 25&lt;/code&gt;, so an older JDK fails at startup, and on macOS you can fall back to the previous pipeline with the &lt;code&gt;-Dprism.order=es2&lt;/code&gt; launch parameter.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://openjfx.io/highlights/27/" target="_blank" rel="noopener noreferrer"&gt;JavaFX 27 Highlights&lt;/a&gt; lists what is new: RichTextArea tab stop attributes plus embedded image, text background and wavy underline attributes; conditional stylesheet imports; &lt;code&gt;ConditionalFeature&lt;/code&gt; and platform media queries; JavaFX controls in the title bar; animations that now respect the reduced motion preference; improved macOS accessibility including navigable static text and hyperlinks; better Flatpak integration through &lt;code&gt;GtkFileChooserNative&lt;/code&gt;; and iOS improvements including &lt;code&gt;UIWindowScene&lt;/code&gt; support. The community fixed more than 60 bugs, and dependencies moved to WebKit 623.1, GStreamer 1.28.3, libxml2 2.15.3 and libxslt 1.1.45. The highlights page credits &lt;a href="https://gluonhq.com" target="_blank" rel="noopener noreferrer"&gt;Gluon&lt;/a&gt; for the bulk of the work on this release.&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Andy Goryachev&lt;/strong&gt; integrated &lt;a href="https://mail-archive.com/openjfx-dev@openjdk.org/msg29554.html" target="_blank" rel="noopener noreferrer"&gt;8390913: RichTextArea: Down arrow stuck on paragraph if space above and below are set&lt;/a&gt;: &amp;ldquo;&lt;em&gt;Fixes broken navigation introduced in JDK-8370902 with non-zero paragraph spacing (above, below, line spacing).&lt;/em&gt;&amp;rdquo; The Rich Editor Demo was also updated to allow setting paragraph line spacing in addition to space above/below (right click → Paragraph). A sizeable change at 539 lines across 11 files, reviewed by &lt;strong&gt;Jose Pereda&lt;/strong&gt; and &lt;strong&gt;Lukasz Kostyra&lt;/strong&gt;, integrated on 15 September. (&lt;a href="https://github.com/openjdk/jfx/pull/2280" target="_blank" rel="noopener noreferrer"&gt;PR on GitHub&lt;/a&gt;, &lt;a href="https://github.com/openjdk/jfx/commit/23c3580cc2d25b13dbf4cb8142afb51691c2cf5f" target="_blank" rel="noopener noreferrer"&gt;changeset&lt;/a&gt;)&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Marius Hanl&lt;/strong&gt; integrated &lt;a href="https://mail-archive.com/openjfx-dev@openjdk.org/msg29563.html" target="_blank" rel="noopener noreferrer"&gt;8392149: Mark deprecated snap methods for removal in SkinBase&lt;/a&gt;, a heads-up for anyone writing custom skins: &amp;ldquo;&lt;em&gt;Since we will remove the snapping methods in &lt;code&gt;Region&lt;/code&gt; at one point, we should also do that in &lt;code&gt;SkinBase&lt;/code&gt;.&lt;/em&gt;&amp;rdquo; A continuation of JDK-8390773, reviewed by &lt;strong&gt;Kevin Rushforth&lt;/strong&gt; and &lt;strong&gt;Andy Goryachev&lt;/strong&gt;, integrated on 15 September. (&lt;a href="https://github.com/openjdk/jfx/pull/2311" target="_blank" rel="noopener noreferrer"&gt;PR on GitHub&lt;/a&gt;, &lt;a href="https://github.com/openjdk/jfx/commit/bb1789c15faadc866656a5ee2520e1ee4cabd95a" target="_blank" rel="noopener noreferrer"&gt;changeset&lt;/a&gt;)&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://www.infoq.com/news/2026/09/java27-released/" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Michael Redlich&lt;/strong&gt; wrote up the Java 27 release for InfoQ, with a section on JavaFX 27&lt;/a&gt;: JavaFX 27 joins Helidon 27 and Jipher 20 as new additions to the Oracle &lt;a href="https://www.oracle.com/java/technologies/downloads/jvp/" target="_blank" rel="noopener noreferrer"&gt;Java Verified Portfolio&lt;/a&gt;, delivering a &amp;ldquo;&lt;em&gt;metal rendering pipeline on macOS for smoother performance on modern Apple hardware&lt;/em&gt;&amp;rdquo;, enhanced text editing controls, and continued accessibility improvements.&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Alexander Matveev&lt;/strong&gt; integrated &lt;a href="https://marc.info/?l=openjdk-openjfx-dev&amp;amp;m=179004515064455&amp;amp;w=2" target="_blank" rel="noopener noreferrer"&gt;8331458: Replace qtdemux with MP4 demux based on Media Foundation&lt;/a&gt; in OpenJFX: &amp;ldquo;&lt;em&gt;Replaced &lt;code&gt;qtdemux&lt;/code&gt; with a Media Foundation-based MP4 demuxer on Windows. H.264 video from MP4 and fMP4 (HLS) is now decoded using Media Foundation instead of DirectShow. This change avoids several DirectShow issues encountered with the new MP4 demuxer and reduces implementation complexity.&lt;/em&gt;&amp;rdquo; The changeset also fixes 8305842 (video sometimes does not start when reinitializing on Windows 11). See &lt;a href="https://git.openjdk.org/jfx/pull/2206" target="_blank" rel="noopener noreferrer"&gt;PR #2206&lt;/a&gt; and &lt;a href="https://git.openjdk.org/jfx/commit/67f70684baa3f6168c9c0183e588c6d294d9f65d" target="_blank" rel="noopener noreferrer"&gt;commit 67f70684&lt;/a&gt;.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://mail-archive.com/openjfx-dev@openjdk.org/msg29755.html" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Michael Strauß&lt;/strong&gt; integrated a fix for rows disappearing in a TableView with a horizontal scrollbar&lt;/a&gt;: &amp;ldquo;&lt;em&gt;&lt;code&gt;VirtualFlow&lt;/code&gt; stores the scroll location in two values &amp;hellip; These two values can become inconsistent &amp;hellip; The patch is quite easy: it sets &lt;code&gt;absoluteOffset&lt;/code&gt; to zero when all cells fit.&lt;/em&gt;&amp;rdquo; See &lt;a href="https://git.openjdk.org/jfx/pull/2317" target="_blank" rel="noopener noreferrer"&gt;PR #2317&lt;/a&gt; and the &lt;a href="https://git.openjdk.org/jfx/commit/7f321a7015e001a2822b5b10e27701503acf0828" target="_blank" rel="noopener noreferrer"&gt;commit&lt;/a&gt;.&lt;/li&gt;&#10;&lt;li&gt;Public Service Announcement (PSA) from &lt;strong&gt;milchshakee&lt;/strong&gt; &lt;a href="https://www.reddit.com/r/JavaFX/comments/1wmmdmb/psa_starting_with_jdk27_you_do_no_longer_need_to/" target="_blank" rel="noopener noreferrer"&gt;on Reddit&lt;/a&gt;: starting with JDK 27, you no longer need a separate &lt;code&gt;Main&lt;/code&gt; class to launch a JavaFX application from the classpath, per &lt;a href="https://bugs.openjdk.org/browse/JDK-8248122" target="_blank" rel="noopener noreferrer"&gt;JDK-8248122&lt;/a&gt;.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="applications"&gt;Applications&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://www.reddit.com/r/JavaFX/comments/1w0rmqc/i_made_a_local_music_player/" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Former_Weather_1174&lt;/strong&gt; made a local music player&lt;/a&gt;. &amp;ldquo;&lt;em&gt;I&amp;rsquo;ve made a local music player based on JavaFX. Although it&amp;rsquo;s still quite rudimentary, it already has all the necessary functions. I think some people might be interested in it. Here is the link to the &lt;a href="https://github.com/Muimi272/Kimusic" target="_blank" rel="noopener noreferrer"&gt;GitHub repository: Kimusic&lt;/a&gt;.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://www.linkedin.com/posts/helal-anwar-94571016b_java-javafx-opencv-ugcPost-7502853372006432768-VXi5/" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Helal Anwar&lt;/strong&gt; shared a video of Passport Studio FX&lt;/a&gt;, a desktop application to simplify passport and ID photo preparation for local photo studios and print shops. It provides AI-powered background removal with MODNet and ONNX Runtime, manual cropping with passport-size aspect ratios, custom background colors, zoom controls, standard photo size presets, and A4 print-sheet generation with cutting borders. The tech stack is Java, JavaFX, FXML, OpenCV, ONNX Runtime, MODNet, Apache PDFBox, Maven, and jpackage for the Windows build. All images are processed locally, so nothing gets uploaded to the cloud.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://www.reddit.com/r/JavaFX/comments/1wal3zv/4_years_developing_im_proud_to_announce_numehub/" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;LooseCartographer989&lt;/strong&gt; announced NumeHub on Reddit&lt;/a&gt;, claiming it is &lt;em&gt;&amp;ldquo;the largest JavaFX application ever built&amp;rdquo;&lt;/em&gt;: &amp;ldquo;&lt;em&gt;Four years ago I opened a JavaFX project to see how far the platform would go before it broke. It never broke. So I kept going.&lt;/em&gt;&amp;rdquo; NumeHub is a single desktop app that bundles projects, CRM, a point-of-sale system, WhatsApp and email campaigns, a file explorer, a browser and system monitoring, with an AI agent (built on MCP tools) on top that answers questions by voice or text. &amp;ldquo;&lt;em&gt;Millions of nodes. Under half a gig of RAM. A new release every week.&lt;/em&gt;&amp;rdquo; Runs on Windows and macOS (Apple Silicon and Intel) in English, Portuguese, Chinese and German; Linux is planned if there is demand. It&amp;rsquo;s not open source and &lt;a href="https://nume.solutions/download" target="_blank" rel="noopener noreferrer"&gt;downloads are here&lt;/a&gt;. The thread turned into a fun &amp;ldquo;who has the biggest JavaFX app&amp;rdquo; contest, with &lt;strong&gt;PartOfTheBotnet&lt;/strong&gt; (9 years, 5,440 commits), &lt;strong&gt;_DystopianSnowman&lt;/strong&gt; (13 years, ~90k LOC) and &lt;strong&gt;Siedlerchr&lt;/strong&gt; weighing in for JabRef.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://www.reddit.com/r/JavaFX/comments/1wi4552/sharing_my_tiny_project_please_check_it_out/" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Thunder_ZEK&lt;/strong&gt; shared his tiny project on Reddit&lt;/a&gt;, Memento: &amp;ldquo;&lt;em&gt;It&amp;rsquo;s an application where you are asked 100 questions&amp;hellip; about your life, and answers to these 100 questions are basically in depth information about you and your life. So after answering you can download a PDF and share this to anybody.&lt;/em&gt;&amp;rdquo; Built with JDK 17, JavaFX 17, SQLite and OpenPDF, with all data staying on your device unless you export it. The &lt;a href="https://github.com/Savirar0/Memento" target="_blank" rel="noopener noreferrer"&gt;sources are on GitHub&lt;/a&gt;. He learned JavaFX from YouTube tutorials and built this over a few months to show he had picked it up - a Windows installer is included, but &amp;ldquo;&lt;em&gt;it&amp;rsquo;s only working on my laptop lol.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;&#10;&lt;li&gt;The &lt;strong&gt;JabRef Team&lt;/strong&gt; released &lt;a href="https://github.com/JabRef/jabref/releases/tag/v6.0-beta.1" target="_blank" rel="noopener noreferrer"&gt;JabRef 6.0-beta.1&lt;/a&gt;, the first beta of the next major version of the JavaFX-based BibTeX/BibLaTeX reference manager. Highlights: almost everything is now navigable by keyboard with visual indicators, a fetcher for Software Heritage identifiers (SWHID), the community themes from &lt;a href="https://themes.jabref.org/" target="_blank" rel="noopener noreferrer"&gt;themes.jabref.org&lt;/a&gt; (Everforest, Nord, Papers, Chocolate Honey and more) selectable from the preferences with preview images, per-tab icons, and automatic reconnection to shared databases. &lt;a href="https://github.com/JabRef/jabref" target="_blank" rel="noopener noreferrer"&gt;Project on GitHub&lt;/a&gt;.&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;NURI&lt;/strong&gt; demoed &lt;a href="https://www.youtube.com/watch?v=Cpjn4AeTFa0" target="_blank" rel="noopener noreferrer"&gt;StarLore, a gamified astronomy RPG desktop application&lt;/a&gt;: &amp;ldquo;&lt;em&gt;StarLore is a JavaFX-based desktop application that combines astronomy, mythology, exploration, and interactive gaming.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="components-libraries-tools"&gt;Components, Libraries, Tools&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;strong&gt;Erik Costlow&lt;/strong&gt; wrote a post on InfoQ about &lt;a href="https://www.infoq.com/news/2026/08/flexgantfx/" target="_blank" rel="noopener noreferrer"&gt;FlexGanttFX going Open Source&lt;/a&gt;: &amp;ldquo;&lt;em&gt;Dirk Lemmerman has open sourced FlexGanttFX, a resource-scheduling framework for generating Gantt charts. Lemmerman open sourced the library after 15 years as a way of increasing availability of the code for use while using the AGPL license as a way to address project maintenance.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://www.reddit.com/r/JavaFX/comments/1wjc3zr/luvml_21_is_on_maven_central_a_typesafe_java_dsl/" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Guilty_Village_958&lt;/strong&gt; announced on Reddit&lt;/a&gt; that luvml 2.1 is on Maven Central, &amp;ldquo;&lt;em&gt;a type-safe Java DSL that treats your HTML, CSS, and Vue templates as one typed authoring language instead of three.&lt;/em&gt;&amp;rdquo; The one to watch for JavaFX developers is the sibling project &lt;a href="https://github.com/luvml/luvjfx" target="_blank" rel="noopener noreferrer"&gt;luvjfx&lt;/a&gt;, &amp;ldquo;&lt;em&gt;a terse, type-safe construction DSL for JavaFX&lt;/em&gt;&amp;rdquo;: nested calls instead of imperative setup, with the property methods machine-generated from JavaFX itself by reflection (367 capabilities across 51 node types), built-in one-way and two-way binding, and an escape hatch to the raw JavaFX API. No releases yet, so no Maven coordinates for luvjfx for now.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://bsky.app/profile/chadpreisler.bsky.social/post/3mvpxdc3m622z" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Chad Preisler&lt;/strong&gt; needed a sorted list that stays usable at scale&lt;/a&gt;: &amp;ldquo;&lt;em&gt;I needed a sorted list in #JavaFX that could show millions of records in a TableView and still be usable.&lt;/em&gt;&amp;rdquo; The &lt;a href="https://github.com/jfxmodules/mods" target="_blank" rel="noopener noreferrer"&gt;mods&lt;/a&gt; project - &amp;ldquo;&lt;em&gt;New components for JavaFX or enhancements to existing JavaFX functionality&lt;/em&gt;&amp;rdquo; - was created several years ago, but recently got some threading fixes, improved string sorting and usage information in the readme.&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Florian Enner&lt;/strong&gt; published the article behind the video we linked &lt;a href="https://www.jfx-central.com/links/2026-09-18" target="_blank" rel="noopener noreferrer"&gt;last week&lt;/a&gt;: &lt;a href="https://ennerf.github.io/2026/09/18/JavaFX-27-Native-Image-on-a-Raspberry-Pi-5.html" target="_blank" rel="noopener noreferrer"&gt;JavaFX 27 as a GraalVM Native Image on a Raspberry Pi 5&lt;/a&gt;. It compares Gluon Substrate (still on GraalVM 23 CE and JavaFX 21), BellSoft&amp;rsquo;s Liberica NIK, and his own &lt;a href="https://github.com/HebiRobotics/jfx-static-feature" target="_blank" rel="noopener noreferrer"&gt;StaticFX&lt;/a&gt;, which &amp;ldquo;&lt;em&gt;runs as a regular GraalVM Feature on the stock toolchain&lt;/em&gt;&amp;rdquo; and keeps all JavaFX modules working, including Media and Web. For the AtlantaFX Sampler on a Raspberry Pi 5, the time to the first window drops from 3.6s with jlink to 0.5s, and memory use after visiting all pages from 1,424 MB to 634 MB, in a binary of about 33 MB. The missing reachability metadata remains the biggest hurdle, &amp;ldquo;&lt;em&gt;but IMO the payoff is worth pushing through the initial barrier.&lt;/em&gt;&amp;rdquo;&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Dirk Lemmermann&lt;/strong&gt; released &lt;a href="https://github.com/dlsc-software-consulting-gmbh/GemsFX/releases/tag/v4.5.0" target="_blank" rel="noopener noreferrer"&gt;GemsFX 4.5.0&lt;/a&gt;: &lt;code&gt;DialogPane&lt;/code&gt; gains a cancellable dialog feature so dialogs can be closed with the ESC key or a dedicated cancel button, the busy button was removed from &lt;code&gt;PowerPaneApp&lt;/code&gt; to streamline the dialog options, and &lt;code&gt;SVGUtil&lt;/code&gt; now uses a default loader context with jsvg updated to 2.2.0. &lt;a href="https://github.com/dlsc-software-consulting-gmbh/GemsFX" target="_blank" rel="noopener noreferrer"&gt;Project on GitHub&lt;/a&gt;.&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;mkpaz&lt;/strong&gt; released &lt;a href="https://github.com/mkpaz/atlantafx/releases/tag/v3.0.0" target="_blank" rel="noopener noreferrer"&gt;AtlantaFX 3.0.0&lt;/a&gt;, a major update to the JavaFX theme collection: adds window decorations, a Scene Builder plugin, a theme manager, and a new Sidebar component. See the &lt;a href="https://github.com/mkpaz/atlantafx/releases/tag/v3.0.0" target="_blank" rel="noopener noreferrer"&gt;release and changelog&lt;/a&gt;.&lt;/li&gt;&#10;&lt;li&gt;The &lt;strong&gt;Techsenger&lt;/strong&gt; team introduced &lt;a href="https://github.com/techsenger/patternfx" target="_blank" rel="noopener noreferrer"&gt;PatternFX&lt;/a&gt; on &lt;a href="https://www.reddit.com/r/JavaFX/comments/1wkqrsf/patternfx_mvc_mvp_mvvm_templates_for_javafx/" target="_blank" rel="noopener noreferrer"&gt;Reddit&lt;/a&gt;: a framework providing MVC, MVP, and MVVM templates sharing a common architectural foundation. It models a window as a tree of dynamically composable components, each built with one of the three templates, and organizes inter-component communication through type-safe &amp;ldquo;ports&amp;rdquo; instead of a bus. Other features include component lifecycle support, component inheritance, history preservation, component-level logging, and an FXML-free design, with a demo implementing the same example in all three templates. Their &lt;a href="https://github.com/techsenger/shellfx" target="_blank" rel="noopener noreferrer"&gt;ShellFX&lt;/a&gt; platform is built on top of it.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="podcasts-videos-books"&gt;Podcasts, Videos, Books&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://bsky.app/profile/starbuxman.joshlong.com/post/3muyzvqkb6r23" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Josh Long&lt;/strong&gt; published two videos&lt;/a&gt; on combining Spring Boot, JavaFX, GraalVM native images and Spring Security to build desktop applications: &amp;ldquo;&lt;em&gt;native, lightning-fast, dynamic, efficient, reusable desktop applications that run well on Mac, Windows, and Linux, and look amazing, while taking small fractions of the RAM of a similar Electron-based application&lt;/em&gt;&amp;rdquo;. Also mentioned in &lt;a href="https://spring.io/blog/2026/09/08/this-week-in-spring-september-8th-2026" target="_blank" rel="noopener noreferrer"&gt;This Week in Spring, September 8th, 2026&lt;/a&gt;.&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://youtu.be/Od2NDwHED58" target="_blank" rel="noopener noreferrer"&gt;The Ultimate Desktop Client Stack: Building High-Performance Apps with Spring Boot &amp;amp; JavaFX&lt;/a&gt; shows how to use Spring Boot and JavaFX together, &amp;ldquo;&lt;em&gt;so that you get the component model, event dispatch subsystem, internationalization, lifecycle management, and, of course, the entire and very rich ecosystem of Spring components and can use them to manage JavaFX components, too&lt;/em&gt;&amp;rdquo;, and ends with native image compilation.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://youtu.be/gB7FIbxMEos" target="_blank" rel="noopener noreferrer"&gt;Build Secure Desktop Apps with JavaFX, Spring Boot &amp;amp; PKCE OAuth 2.0&lt;/a&gt; looks at using Spring Security&amp;rsquo;s OAuth client in the context of a desktop application, &amp;ldquo;&lt;em&gt;which can not, by definition, hold a client secret&lt;/em&gt;&amp;rdquo;.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Florian Enner&lt;/strong&gt; published a short video, &lt;a href="https://www.youtube.com/watch?v=GA_iAnxznO8" target="_blank" rel="noopener noreferrer"&gt;JavaFX 27 Native Image running AtlantaFX Sampler on Raspberry Pi 5&lt;/a&gt;, showing the AtlantaFX Sampler - which uses all controls and nearly all features JavaFX offers - as an ahead-of-time (AOT) compiled JavaFX 27 Native Image created with the latest Oracle GraalVM 25.3: &amp;ldquo;&lt;em&gt;Everything works, including javafx.media, javafx.web, as well as the desktop integration to open files.&lt;/em&gt;&amp;rdquo; The native image is built with his &lt;a href="https://github.com/HebiRobotics/jfx-static-feature" target="_blank" rel="noopener noreferrer"&gt;jfx-static-feature&lt;/a&gt;, a GraalVM Feature that statically links the JavaFX native code into a standalone executable, with support for rich text, WebView and media on Windows, Linux and macOS, on both Intel and ARM.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://youtu.be/76pWS0WFu_U" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Artistic_Solution117&lt;/strong&gt; shared a video&lt;/a&gt; of a &amp;ldquo;&lt;em&gt;Second test of Java-EARTH-GLOBE-1. Pure JavaFX Google Earth / Nasa Worldwind like viewer in a single shot. On-the-fly on the JVM were the agent runs. Built with gemini 3.8 flash with 24-core raytracing and local disk caching&lt;/em&gt;&amp;rdquo;.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://bsky.app/profile/chadpreisler.bsky.social/post/3mvpvd2towc2z" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Chad Preisler&lt;/strong&gt; shared a demo video of a pure JavaFX Kafka client&lt;/a&gt;: &amp;ldquo;&lt;em&gt;Check out my Pure #JavaFX Kafka Client application. This project has come a long way since I first showed it. I find it incredibly useful. I hope you like it.&lt;/em&gt;&amp;rdquo; The &lt;a href="https://youtu.be/lsiJBYTlxVs" target="_blank" rel="noopener noreferrer"&gt;Visual Kafka (VK) Demo&lt;/a&gt; walks through the result on the &lt;strong&gt;Chad Preisler&lt;/strong&gt; YouTube channel. We linked a very early version of this, then still &amp;ldquo;a very basic Kafka topic viewer&amp;rdquo;, back in &lt;a href="https://www.jfx-central.com/links/2023-02-24" target="_blank" rel="noopener noreferrer"&gt;February 2023&lt;/a&gt;.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="tutorials"&gt;Tutorials&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://rottenwifi.com/creating-a-simple-3d-platformer-game-using-javafx/" target="_blank" rel="noopener noreferrer"&gt;Creating a Simple 3D Platformer Game Using JavaFX&lt;/a&gt; is a step-by-step guide by the &lt;strong&gt;RottenWiFi Team&lt;/strong&gt; that builds a playable 3D platformer prototype with a player character, multiple platforms, gravity, WASD movement and jumping, axis-aligned bounding-box collision detection, respawning after a fall, and a goal platform. It starts from a Maven setup and camera configuration and works through frame-rate-independent movement and per-axis collision resolution. The focus is on the fundamentals — scene graphs, coordinate systems and physics — rather than on production tooling, as &amp;ldquo;&lt;em&gt;JavaFX is a framework for desktop applications with 3D graphics features, not a complete commercial game engine&lt;/em&gt;&amp;rdquo;.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="miscellaneous"&gt;Miscellaneous&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://www.reddit.com/r/javahelp/comments/1wckpbm/building_a_javafx_hibernate_talent_acquisition/" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;Nirvex1&lt;/strong&gt; is looking for advice on Reddit&lt;/a&gt; while building a desktop Talent Acquisition System with Java 11, JavaFX, Maven, Hibernate and MariaDB: &amp;ldquo;&lt;em&gt;One of the more challenging parts so far has been managing around 17 different FXML views and connecting all of them properly with their controllers. I also had to spend quite a bit of time understanding &lt;code&gt;module-info.java&lt;/code&gt;, resource paths, and how everything fits together in a modular JavaFX application. Thankfully, that part is finally stable.&lt;/em&gt;&amp;rdquo; The questions are about Hibernate session management and &lt;code&gt;LazyInitializationException&lt;/code&gt;, how to run database queries without freezing the UI, and which threading patterns and architectural choices keep a large multi-view JavaFX application maintainable. The first answers mostly argue for putting a backend service between the desktop client and the database instead of connecting to it directly.&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://www.reddit.com/r/JavaFX/comments/1wjhtou/how_can_javafx_attract_more_developers/" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;enthalpyzx&lt;/strong&gt; started a discussion on Reddit&lt;/a&gt;, &amp;ldquo;How can JavaFX attract more developers?&amp;rdquo;, from the perspective of someone who hasn&amp;rsquo;t written a JavaFX application yet but likes what they see: &amp;ldquo;&lt;em&gt;I&amp;rsquo;ve noticed that JavaFX is very capable of doing incredible things that I had never imagined.&lt;/em&gt;&amp;rdquo; The open questions are how multiplatform JavaFX really is, whether applications can look native on every desktop (with &lt;a href="https://www.jfx-central.com/libraries/atlantafx" target="_blank" rel="noopener noreferrer"&gt;AtlantaFX&lt;/a&gt; mentioned as the likely answer, next to wrappers like Java-GI and QtJambi), why things like tray icons and notifications still need AWT, and above all the lack of a single recommended way of working: &amp;ldquo;&lt;em&gt;I would like Gluon or Oracle to stand up and say: look, this is how things work now, this is how you work for desktop apps, this is how you work for mobile apps, this is the library you have to use.&lt;/em&gt;&amp;rdquo; Also asked: are &lt;a href="https://www.jfx-central.com/books/definitiveguide2modernjavaclients" target="_blank" rel="noopener noreferrer"&gt;The Definitive Guide to Modern Java Clients with JavaFX&lt;/a&gt; and &lt;a href="https://www.jfx-central.com/books/learnjfx17" target="_blank" rel="noopener noreferrer"&gt;Learn JavaFX 17&lt;/a&gt; a good starting point?&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://www.reddit.com/r/JavaFX/comments/1wp4u70/javafx_in_the_browser/" target="_blank" rel="noopener noreferrer"&gt;&lt;strong&gt;indyjoe&lt;/strong&gt; asked on Reddit&lt;/a&gt; for good options to run JavaFX in the browser with minimal rewriting, still allowing a desktop version, supporting a large per-client data model, and scaling to hundreds of concurrent users. The discussion weighs WebFX (promising but limited control support and mostly a one-person project), CheerpJ (good for AWT/Swing, no timeline for JavaFX), Gluon (an old prototype not being updated without funded support), JPro (server-side rendering, a concern for apps with large per-user data), and whether a GraalVM-to-WASM path is even possible.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="jfx-central"&gt;JFX Central&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;The JavaFX Links Of The Week of August got &lt;a href="https://foojay.io/today/javafx-links-of-august-2026/"&gt;bundled and published on Foojay.io&lt;/a&gt;.&lt;/li&gt;&#10;&lt;li&gt;New content on JFX Central:&#10;&lt;ul&gt;&#10;&lt;li&gt;People: &lt;a href="https://www.jfx-central.com/people/j.long" target="_blank" rel="noopener noreferrer"&gt;Josh Long&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;Videos by Josh:&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://www.jfx-central.com/videos/Od2NDwHED58" target="_blank" rel="noopener noreferrer"&gt;The Ultimate Desktop Client Stack: Building High-Performance Apps with Spring Boot &amp;amp; JavaFX&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://www.jfx-central.com/videos/gB7FIbxMEos" target="_blank" rel="noopener noreferrer"&gt;Build Secure Desktop Apps with JavaFX, Spring Boot &amp;amp; PKCE OAuth 2.0&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;Tutorials based on these videos:&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;a href="https://www.jfx-central.com/learn-javafx/spring-boot" target="_blank" rel="noopener noreferrer"&gt;JavaFX and Spring Boot&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;a href="https://www.jfx-central.com/learn-javafx/spring-boot-oauth" target="_blank" rel="noopener noreferrer"&gt;Securing a JavaFX desktop application with Spring Security and OAuth 2.0&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;/ul&gt;</description></item><item><title>One Base URL, Many Coding Agents: What an OpenAI-Compatible Gateway Looks Like From java.net.http</title><link>https://foojay.io/today/one-base-url-many-coding-agents-what-an-openai-compatible-gateway-looks-like-from-java-net-http/</link><pubDate>Wed, 09 Sep 2026 16:09:53 +0000</pubDate><guid>https://foojay.io/today/one-base-url-many-coding-agents-what-an-openai-compatible-gateway-looks-like-from-java-net-http/</guid><description>&lt;p&gt;Somewhere in every coding agent there is an HTTP client. Claude Code, Codex, Cursor, Cline, OpenCode: strip away the terminal UI or the editor pane and each of them serializes a conversation into JSON, POSTs it to a base URL with an API key in a header, and streams the answer back. The client owns the prompt assembly, the tool loop and the rendering; the model sits on the far side of that socket.&lt;/p&gt;</description></item><item><title>Debugging Is Invariant Discovery: What One Kafka Session Taught Us About AI Agents</title><link>https://foojay.io/today/debugging-is-invariant-discovery-what-one-kafka-session-taught-us-about-ai-agents/</link><pubDate>Tue, 08 Sep 2026 14:14:36 +0000</pubDate><guid>https://foojay.io/today/debugging-is-invariant-discovery-what-one-kafka-session-taught-us-about-ai-agents/</guid><description>&lt;p&gt;Every Java team has a sentence like this one somewhere:&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Any operation on a TID must go through the single asynchronous path and must not let TMS and EMV drift apart.&lt;/strong&gt;&lt;/p&gt;&#10;&lt;p&gt;It is the kind of rule that is obvious once said and invisible until then. A terminal ID (TID) in a payments system, an asynchronous pipeline that updates two downstream systems, and the requirement that the two never disagree. Nothing in the type system enforces a rule like that, and no single class owns it. Rules of this kind live between consumers, services and stores.&lt;/p&gt;</description></item><item><title>“Commit created” — but it isn’t: why the agent’s word needs external verification, and what the mistake costs</title><link>https://foojay.io/today/commit-created-no-no-no-what-the-the-agents-word-needs-external-verification-what-the-mistake-costs/</link><pubDate>Tue, 08 Sep 2026 08:54:03 +0000</pubDate><guid>https://foojay.io/today/commit-created-no-no-no-what-the-the-agents-word-needs-external-verification-what-the-mistake-costs/</guid><description>&lt;p&gt;&lt;em&gt;&lt;strong&gt;A detailed report reads like proof. The agent lists the files it touched, names the branch, quotes a commit hash, adds a test count and closes with &amp;ldquo;done&amp;rdquo;. The work has a shape. The shape looks right. You have six more tickets.&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;&#10;&lt;p&gt;The report is model output. The commit, if it exists, lives in .git. The file, if it exists, lives on disk. The build result lives in a process exit code and a run log. The chat window is none of those places, and it can only vouch for itself.&lt;/p&gt;</description></item><item><title>Did Your AI Agent Ever Run a Debugger? One JVM Bug, Two Agent Runs</title><link>https://foojay.io/today/did-your-ai-agent-run-the-debugger-one-jvm-bug-two-agent-runs/</link><pubDate>Thu, 03 Sep 2026 13:48:32 +0000</pubDate><guid>https://foojay.io/today/did-your-ai-agent-run-the-debugger-one-jvm-bug-two-agent-runs/</guid><description>&lt;p&gt;Java developers reach for the debugger without thinking about it. Set a breakpoint, run the failing test, look at the variables, then decide what to change.&lt;/p&gt;&#10;&lt;p&gt;Most AI coding agents I have watched skip that step. They read the stack trace, read the source, and propose a patch. The reasoning can look excellent and still be a guess about a program nobody ran.&lt;/p&gt;&#10;&lt;p&gt;I wanted to know what that guess costs. So I took one real JVM bug, one model, one prompt, and ran it twice with two debugging workflows. Here is what the two transcripts show.&lt;/p&gt;</description></item><item><title>JavaFX Links of August 2026</title><link>https://foojay.io/today/javafx-links-of-august-2026/</link><pubDate>Mon, 31 Aug 2026 12:58:02 +0000</pubDate><guid>https://foojay.io/today/javafx-links-of-august-2026/</guid><description>&lt;p&gt;Here are the JavaFX LinksOfTheMonth of August 2026. We took a summer break, so there was only one &amp;ldquo;Links Of The Week&amp;rdquo; this month, and it covers all of August. We hope you had a great summer and are ready for more JavaFX news in the coming weeks!&lt;/p&gt;&#10;&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="mailto:links@jfx-central.com"&gt;links@jfx-central.com&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Sheetmusic4J 0.0.3: ABC Notation, Guitar Pro, Engraving Improvements</title><link>https://foojay.io/today/sheetmusic4j-0-0-3-abc-notation-guitar-pro-engraving-improvements/</link><pubDate>Thu, 06 Aug 2026 08:26:00 +0000</pubDate><guid>https://foojay.io/today/sheetmusic4j-0-0-3-abc-notation-guitar-pro-engraving-improvements/</guid><description>&lt;p&gt;Last week I &lt;a href="https://foojay.io/today/introducing-sheetmusic4j-a-javafx-library-to-render-and-interact-with-sheet-music/"&gt;introduced Sheetmusic4J&lt;/a&gt;, a Java(FX) library to render and interact with sheet music. That first &lt;strong&gt;0.0.1&lt;/strong&gt; release was really a question more than a product: is there any interest in a native Java(FX) sheet music library before I invest more time in it? So I shared it on social media and waited to see what would come back.&lt;/p&gt;&#10;&lt;p&gt;The answers arrived faster than I expected. And they gave me more homework&amp;hellip;&lt;/p&gt;</description></item><item><title>JavaFX Links of July 2026</title><link>https://foojay.io/today/javafx-links-of-july-2026/</link><pubDate>Fri, 31 Jul 2026 16:18:46 +0000</pubDate><guid>https://foojay.io/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="mailto:links@jfx-central.com"&gt;links@jfx-central.com&lt;/a&gt;.&lt;/p&gt;&#10;&lt;h2 id="core"&gt;Core&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&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;&#10;&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;&#10;&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;&#10;&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;&#10;&lt;li&gt;Both JavaFX 26 and 27 need at least JDK 24 to run.&lt;/li&gt;&#10;&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;.&#10;&lt;ul&gt;&#10;&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;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&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;&#10;&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;&#10;&lt;/ul&gt;&#10;&lt;h2 id="applications"&gt;Applications&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&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;&#10;&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;&#10;&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;&#10;&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;&#10;&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;&#10;&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;&#10;&lt;/ul&gt;&#10;&lt;h2 id="games"&gt;Games&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&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;&#10;&lt;/ul&gt;&#10;&lt;h2 id="components-libraries-tools"&gt;Components, Libraries, Tools&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&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;&#10;&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;&#10;&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;&#10;&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 — 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;&#10;&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.&#10;&lt;ul&gt;&#10;&lt;li&gt;Website: &lt;a href="https://sheetmusic4j.com" target="_blank" rel="noopener noreferrer"&gt;sheetmusic4j.com&lt;/a&gt;&lt;/li&gt;&#10;&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;&#10;&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;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&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;&#10;&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 — 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;&#10;&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;&#10;&lt;/ul&gt;&#10;&lt;h2 id="podcasts-videos-books"&gt;Podcasts, Videos, Books&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&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;&#10;&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;&#10;&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;&#10;&lt;/ul&gt;&#10;&lt;h2 id="miscellaneous"&gt;Miscellaneous&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&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;&#10;&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;&#10;&lt;/ul&gt;&#10;&lt;h2 id="jfx-central"&gt;JFX Central&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;New content on JFX Central:&#10;&lt;ul&gt;&#10;&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;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;The JavaFX Links Of The Week of June got &lt;a href="https://foojay.io/today/javafx-links-of-june-2026/"&gt;bundled and published on Foojay.io&lt;/a&gt;.&lt;/li&gt;&#10;&lt;/ul&gt;</description></item><item><title>Introducing Sheetmusic4J, a Java(FX) Library to Render and Interact with Sheet Music</title><link>https://foojay.io/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://foojay.io/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.&#10;&lt;img src="https://foojay.io/today/introducing-sheetmusic4j-a-javafx-library-to-render-and-interact-with-sheet-music/screenshot-melodymatrix-1024x641.jpg" alt="" width="1024" height="641" loading="lazy" decoding="async"&gt;&lt;/p&gt;&#10;&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://foojay.io/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://foojay.io/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;&#10;&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://foojay.io/today/javafx-links-of-june-2026/</link><pubDate>Tue, 30 Jun 2026 07:23:31 +0000</pubDate><guid>https://foojay.io/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="mailto:links@jfx-central.com"&gt;links@jfx-central.com&lt;/a&gt;.&lt;/p&gt;&#10;&lt;h2 id="core"&gt;Core&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&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;&#10;&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;&#10;&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;&#10;&lt;/ul&gt;&#10;&lt;h2 id="applications"&gt;Applications&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&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;&#10;&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;&#10;&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;&#10;&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;&#10;&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;&#10;&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;&#10;&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;&#10;&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;&#10;&lt;/ul&gt;&#10;&lt;h2 id="components-libraries-tools"&gt;Components, Libraries, Tools&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&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;&#10;&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;&#10;&lt;ul&gt;&#10;&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;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&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;&#10;&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;&#10;&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;&#10;&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;&#10;&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;&#10;&lt;/ul&gt;&#10;&lt;h2 id="podcasts-videos-books"&gt;Podcasts, Videos, Books&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&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;&#10;&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;&#10;&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;&#10;&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;&#10;&lt;/ul&gt;&#10;&lt;h2 id="conferences-presentations"&gt;Conferences, Presentations&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&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 – Status and Beyond&amp;rdquo; (&lt;strong&gt;Wolfgang Weigend&lt;/strong&gt; ), &amp;ldquo;JPRO – 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; :&#10;&lt;ul&gt;&#10;&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;&#10;&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;&#10;&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; — all about JavaFX applications&lt;/em&gt;&amp;rdquo;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&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;&#10;&lt;/ul&gt;&#10;&lt;h2 id="jfx-central"&gt;JFX Central&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;New content on JFX Central:&#10;&lt;ul&gt;&#10;&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;&#10;&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;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;The JavaFX Links Of The Week of May got &lt;a href="https://foojay.io/today/javafx-links-of-may-2026/"&gt;bundled and published on Foojay.io&lt;/a&gt;.&lt;/li&gt;&#10;&lt;/ul&gt;</description></item><item><title>Lottie4J Meets LottieFiles: A Conversation with Naail Abdul Rahman</title><link>https://foojay.io/today/lottie4j-meets-lottiefiles/</link><pubDate>Tue, 09 Jun 2026 07:31:00 +0000</pubDate><guid>https://foojay.io/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://foojay.io/today/javafx-links-of-may-2026/</link><pubDate>Sun, 31 May 2026 08:19:07 +0000</pubDate><guid>https://foojay.io/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="mailto:links@jfx-central.com"&gt;links@jfx-central.com&lt;/a&gt;.&lt;/p&gt;&#10;&lt;h2 id="applications"&gt;Applications&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&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;&#10;&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;&#10;&lt;ul&gt;&#10;&lt;li&gt;Improved handling of older documents with OCR and AI-powered tools.&lt;/li&gt;&#10;&lt;li&gt;Improved LibreOffice-JabRef integration with one particular aspect of compatibility with other reference managers.&lt;/li&gt;&#10;&lt;li&gt;Improving startup times for JabKit by leveraging the power of GraalVM&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&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;&#10;&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;&#10;&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;&#10;&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;&#10;&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;&#10;&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;&#10;&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;&#10;&lt;/ul&gt;&#10;&lt;h2 id="components-libraries-tools"&gt;Components, Libraries, Tools&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&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;&#10;&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;&#10;&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;&#10;&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;&#10;&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;&#10;&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;&#10;&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;&#10;&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;&#10;&lt;li&gt;&lt;a href="https://foojay.io/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;&#10;&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;:&#10;&lt;ul&gt;&#10;&lt;li&gt;Alt+Enter accessor intention&lt;/li&gt;&#10;&lt;li&gt;fxp* completions&lt;/li&gt;&#10;&lt;li&gt;Generate menu: JavaFX Property Accessors&lt;/li&gt;&#10;&lt;li&gt;Generate menu: JavaFX Property&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&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;&#10;&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;&#10;&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;&#10;&lt;/ul&gt;&#10;&lt;h2 id="podcasts-videos-books"&gt;Podcasts, Videos, Books&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&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;&#10;&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;&#10;&lt;li&gt;&lt;a href="https://foojay.io/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;&#10;&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;&#10;&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;&#10;&lt;/ul&gt;&#10;&lt;h2 id="tutorials"&gt;Tutorials&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&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;&#10;&lt;/ul&gt;&#10;&lt;h2 id="conferences-presentations"&gt;Conferences, Presentations&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&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;&#10;&lt;/ul&gt;&#10;&lt;h2 id="miscellaneous"&gt;Miscellaneous&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&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://foojay.io/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;&#10;&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;&#10;&lt;/ul&gt;&#10;&lt;h2 id="jfx-central"&gt;JFX Central&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;The JavaFX Links Of The Week of April got &lt;a href="https://foojay.io/today/javafx-links-of-april-2026/"&gt;bundled and published on Foojay.io&lt;/a&gt;.&lt;/li&gt;&#10;&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://foojay.io/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://foojay.io/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://foojay.io/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://foojay.io/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;&#10;&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://foojay.io/today/javafx-links-of-april-2026/</link><pubDate>Thu, 30 Apr 2026 09:02:34 +0000</pubDate><guid>https://foojay.io/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="mailto:links@jfx-central.com"&gt;links@jfx-central.com&lt;/a&gt;.&lt;/p&gt;&#10;&lt;h2 id="core"&gt;Core&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&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://foojay.io/today/the-javafx-revival/"&gt;Oracle&amp;rsquo;s Java Verified Portfolio and JavaFX: What It Actually Means&lt;/a&gt;.&lt;/li&gt;&#10;&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;&#10;&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;&#10;&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;&#10;&lt;/ul&gt;&#10;&lt;h2 id="scenebuilder"&gt;SceneBuilder&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&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;&#10;&lt;/ul&gt;&#10;&lt;h2 id="applications"&gt;Applications&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&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;&#10;&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;&#10;&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 — 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;&#10;&lt;/ul&gt;&#10;&lt;h2 id="components-libraries-tools"&gt;Components, Libraries, Tools&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&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;&#10;&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;&#10;&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;&#10;&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;&#10;&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;&#10;&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;&#10;&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;&#10;&lt;/ul&gt;&#10;&lt;h2 id="podcasts-videos-books"&gt;Podcasts, Videos, Books&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&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;&#10;&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;&#10;&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;&#10;&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;&#10;&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 — 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 — 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;&#10;&lt;/ul&gt;&#10;&lt;h2 id="conferences-presentations"&gt;Conferences, Presentations&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&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;&#10;&lt;/ul&gt;&#10;&lt;h2 id="miscellaneous"&gt;Miscellaneous&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&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;&#10;&lt;/ul&gt;&#10;&lt;h2 id="jfx-central"&gt;JFX Central&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Content changes on JFX Central:&#10;&lt;ul&gt;&#10;&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;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&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;&#10;&lt;li&gt;&lt;strong&gt;Dirk Lemmermann&lt;/strong&gt; is working on more improvements:&#10;&lt;ul&gt;&#10;&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;&#10;&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;&#10;&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;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;The JavaFX Links Of The Week of March got bundled and &lt;a href="https://foojay.io/today/javafx-links-of-march-2026/"&gt;published on Foojay.io&lt;/a&gt;.&lt;/li&gt;&#10;&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://foojay.io/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://foojay.io/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;&#10;&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://foojay.io/today/the-javafx-revival/</link><pubDate>Thu, 02 Apr 2026 07:01:48 +0000</pubDate><guid>https://foojay.io/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;&#10;&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://foojay.io/today/javafx-links-of-march-2026/</link><pubDate>Tue, 31 Mar 2026 07:49:54 +0000</pubDate><guid>https://foojay.io/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="mailto:links@jfx-central.com"&gt;links@jfx-central.com&lt;/a&gt;.&lt;/p&gt;&#10;&lt;h2 id="core"&gt;Core&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Java and JavaFX 26 got released!&#10;&lt;ul&gt;&#10;&lt;li&gt;JavaFX 26 requires JDK 24 or later.&lt;/li&gt;&#10;&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;&#10;&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;&#10;&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;&#10;&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;&#10;&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;&#10;&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;&#10;&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;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&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;&#10;&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;&#10;&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;&#10;&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;&#10;&lt;/ul&gt;&#10;&lt;h2 id="applications"&gt;Applications&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&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;&#10;&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;&#10;&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;&#10;&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;&#10;&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;&#10;&lt;ul&gt;&#10;&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;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&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;&#10;&lt;/ul&gt;&#10;&lt;h2 id="components-libraries-tools"&gt;Components, Libraries, Tools&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&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;&#10;&lt;ul&gt;&#10;&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;&#10;&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;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&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;&#10;&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;&#10;&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;&#10;&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;&#10;&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;&#10;&lt;/ul&gt;&#10;&lt;h2 id="podcasts-videos-books"&gt;Podcasts, Videos, Books&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&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;&#10;&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;&#10;&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;&#10;&lt;/ul&gt;&#10;&lt;h2 id="miscellaneous"&gt;Miscellaneous&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&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;&#10;&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;&#10;&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;&#10;&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;&#10;&lt;/ul&gt;&#10;&lt;h2 id="jfx-central"&gt;JFX Central&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;New content on JFX Central:&#10;&lt;ul&gt;&#10;&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;&#10;&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;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&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;&#10;&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;&#10;&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;&#10;&lt;li&gt;The JavaFX Links Of The Week of February got bundled and &lt;a href="https://foojay.io/today/javafx-links-of-february-2026/"&gt;published on Foojay.io&lt;/a&gt;.&lt;/li&gt;&#10;&lt;/ul&gt;</description></item><item><title>Lottie4J 1.2.0: dotLottie Support, Marker Playback, Cropping, and a Big Speed Boost</title><link>https://foojay.io/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://foojay.io/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;&#10;&lt;div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;"&gt;&#10;&#9;&#9;&#9;&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;&#10;&#9;&#9;&lt;/div&gt;&#10;&#10;&lt;h2 id="dotlottie-file-support"&gt;dotLottie File Support&lt;/h2&gt;&#10;&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://foojay.io/today/lottie4j-1-1-0-better-rendering-smarter-debugging/</link><pubDate>Fri, 13 Mar 2026 07:30:00 +0000</pubDate><guid>https://foojay.io/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;&#10;&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://foojay.io/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://foojay.io/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;&#10;&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://foojay.io/today/javafx-links-of-february-2026/</link><pubDate>Sat, 28 Feb 2026 10:13:52 +0000</pubDate><guid>https://foojay.io/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="mailto:links@jfx-central.com"&gt;links@jfx-central.com&lt;/a&gt;.&lt;/p&gt;&#10;&lt;h2 id="applications"&gt;Applications&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&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;.&#10;&lt;ul&gt;&#10;&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;&#10;&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;&#10;&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;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&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;&#10;&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;&#10;&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;&#10;&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;&#10;&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;&#10;&lt;/ul&gt;&#10;&lt;h2 id="components-libraries-tools"&gt;Components, Libraries, Tools&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Library updates by &lt;strong&gt;Dirk Lemmermann&lt;/strong&gt; :&#10;&lt;ul&gt;&#10;&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;&#10;&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;&#10;&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;&#10;&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;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&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;&#10;&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;&#10;&lt;/ul&gt;&#10;&lt;h2 id="podcasts-videos-books"&gt;Podcasts, Videos, Books&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&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;&#10;&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;&#10;&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;&#10;&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;&#10;&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;&#10;&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;&#10;&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—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;&#10;&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;&#10;&lt;/ul&gt;&#10;&lt;h2 id="tutorials"&gt;Tutorials&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;strong&gt;Nicolas Frankel&lt;/strong&gt; published do Foojay.io: &lt;a href="https://foojay.io/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;&#10;&lt;/ul&gt;&#10;&lt;h2 id="miscellaneous"&gt;Miscellaneous&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&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 — desktop, web, terminal, and even mobile apps — 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;&#10;&lt;ul&gt;&#10;&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;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&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;&#10;&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;&#10;&lt;/ul&gt;&#10;&lt;h2 id="jfx-central"&gt;JFX Central&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;New content on JFX Central:&#10;&lt;ul&gt;&#10;&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;&#10;&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;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&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;&#10;&lt;li&gt;The links of January 2026 got &lt;a href="https://foojay.io/today/javafx-links-of-january-2026/"&gt;published on Foojay&lt;/a&gt;.&lt;/li&gt;&#10;&lt;/ul&gt;</description></item></channel></rss>