r/JavaFX • • 7d ago

I made this! A full PDF suite in 100% JavaFX, on my own engine

Thumbnail
gallery
112 Upvotes

Ok, a while ago I showed an early version of my PDF engine here. A lot has changed since then, I tried everything, so here is where it stands.

Mergi is a Windows desktop PDF suite: a real viewer, full editing, comments, forms, signatures, redaction, a small word processor that writes PDFs, conversion to Word and Excel, and the everyday tools (merge, organize, split, compress, protect, watermark, batch). Every file stays on the user's computer.

It is 100% JavaFX. No WebView, no embedded browser, no Electron, no third-party UI kit. The only UI module is javafx.controls; the page view, the virtualized lists, the responsive grid, the print dialog and the editor are all built on it by hand, title bar included (StageStyle.EXTENDED + HeaderBar). And there is not one line of AWT or Swing: no BufferedImage, no SwingFXUtils, no ImageIO. Pages go straight from the engine to JavaFX.

jux-pdf

Everything runs on jux-pdf, a PDF engine I started more than three years ago, I changed the name like 5 times already 😂, but this stay.

  • Pure Java, zero AWT, zero natives. No JNI, nothing to bundle per platform. Fonts and image codecs are part of the engine.

  • Runs where Java runs: desktop, Android, server and cloud. Nothing in it depends on a windowing toolkit.

  • Built to PDFium's standard. I followed PDFium's guidelines and its tests to reach the same rendering quality or better, and kept checking against it as the engine grew.

  • Every font PDF uses: Type 1, TrueType, OpenType/CFF, Type 3 and CID, embedded, subset or missing, through its own rasterizer. For writing: the standard fonts, the system's fonts and every Google Fonts family, embedded into the file.

  • Full editing of any PDF. The page is read as objects (text, pictures, paths) and written back changed, moved, restyled or removed. Not boxes painted on top: the file's own content.

  • JavaScript and actions. Its own sandboxed JS engine, also pure Java, runs form scripts (keystroke, validate, calculate, format) and button actions.

  • Real redaction. Black-out and white-out destroy what is under the box: the letters leave the text, a picture is cut where the box is. Nothing can be copied or recovered afterwards.

  • OCR, Word and Excel. Its own text recognition module, and converters that write real .docx and .xlsx (styles, pictures, tables, numbers as numbers). No Office, no POI.

  • Also: forms, every standard annotation, AES-256 encryption, digital signatures with trusted timestamps, compression, and search and text extraction with positions.

There is a lot to say but I suck writing posts , Im tired and AI will do a bible about this , so ask me if you got any question.

  • Mergi will be released soon on my own website, with a free version and a paid version.

  • The viewer and editor as a JavaFX control. Everything above is one component, and it will be published for anyone to drop into their own JavaFX app: one node, choose the features, theme and language.

  • jux-pdf will be released on my own repository 😏.

There is still a lot of work before each of these, but it is getting close. Happy to answer questions about the engine or the JavaFX side.


r/JavaFX • • Nov 18 '25

I made this! A JavaFX-based traffic intersection simulator that demonstrates intelligent traffic flow management and intersection control algorithms.

109 Upvotes

r/JavaFX • • Nov 18 '21

It was going so well...

Post image
92 Upvotes

r/JavaFX • • Sep 08 '26

I made this! 4 years developing. I'm proud to announce NumeHub - the largest JavaFX application ever build.

Thumbnail
gallery
90 Upvotes

I think this is the largest JavaFX application ever built. Tell me if I'm wrong.

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.

What came out of it is NumeHub. One desktop app that holds a business: projects, CRM, a point-of-sale system, WhatsApp and email campaigns, a file explorer, a browser, system monitoring. And an AI agent sitting on top of all of it. You ask it, by text or by voice, "how many sales did the São Paulo store make today," and it goes and finds out.

Millions of nodes. Under half a gig of RAM. A new release every week.

Everyone told me JavaFX was for internal dashboards. Small tools. Something you build for the accounting team and forget. I no longer believe that, and this app is my argument.

It runs on Windows and macOS (Apple Silicon and Intel), in English, Portuguese, Chinese and German. Linux comes next if enough of you ask.

Download it. Even if you never use it, open it once and look at what this platform can actually do.

nume.solutions/download


r/JavaFX • • Jul 06 '22

Tutorial The Absolute Beginners Guide to JavaFX

86 Upvotes

Most of the tutorial articles I've written on my website have been of the "deep dive" nature. I try to go way beyond the information available in the JavaDocs, and to give some insight into how to get the most out of the tools that JavaFX provides. These articles tend to be on the long side, Jekyll tells me that they average about 13 minutes of reading, and there's usually lots of code examples and pontification about clean coding and on and on.

I realize that these are going to be pretty advanced for someone who's questions are about how to get that first screen up and running, or how to swap scenes with FXML.

So I've been working for some time now on a series I'm calling, "The Absolute Beginners Guide to JavaFX". It's all about how to build Reactive applications in JavaFX. Even if you're not a beginner, you may find it of interest.

You can find it here: https://www.pragmaticcoding.ca/beginners/intro

This is a huge content dump for me, and it's kept me busy for a long time. It's also an ongoing project, so there's more to come. So far, it's divided up into two parts:

  • An introductory application.Pretty much "Hello World" in JavaFX. Then we add some user interaction and some styling. Just enough information to get a beginner started in the right direction.

  • A CRUD application.This is a step-by-step development of a basic Create-Retrieve-Update-Delete application for a customer database. The database is simulated as a simple Java class, and allows the whole application to work just like it would in real life.

At this point, I've completed the development of the CRUD application up to the point where it's a completely functional "Create" application for account number and name. Complete means that it has validation in the GUI, background processing for the save function and handles exceptions from the database. It really is complete, just doesn't have a lot of fields on the screen.

The next steps will be to add some more fields, work on some more sophisticated formatting for the GUI and then to add in the "Retrieve" function. In the meantime, I think there's enough there to give anyone a good start on JavaFX application development.

There's also a companion project on GitHub with all of the code for every single article. So you don't have to do anything more than download the project to try things out for yourself.

I should also point out that the content here, while primarily aimed at showing JavaFX concepts, is also aimed at showing good programming techniques, and how to constantly apply established principles to create clean code.

As usual, take a look if you're interested and let me know what you think.


r/JavaFX • • Feb 10 '24

Showcase Particle Simulator I made to learn Java, took me a month

72 Upvotes

r/JavaFX • • 17d ago

I made this! I save 3.5 GB of RAM by migrating all my chat apps to javafx and terminal to Javafx

Post image
66 Upvotes

I made javafx version of whatsapp, slack, vscode, and a few other browser-engine/electron apps;

also made a javafx terminal with vertical tabs with feature to hibernate tabs. Altogether archived 3.5

GB ram saving. The app is also 10 times more snappier and faster. Used serial GC in most cases.


r/JavaFX • • Apr 17 '21

I made this! Simple JavaFX Chess game

Thumbnail
gallery
65 Upvotes

r/JavaFX • • Dec 06 '25

I made this! Pomolo - A Fully Customizable Lofi Music Player Built 100% in JavaFX

63 Upvotes

Hey everyone!

We’ve been working on a project called Pomolo, a minimalist lofi music player built entirely with JavaFX, no outside UI frameworks, just pure JavaFX.

Github Repo: https://github.com/shr0mi/pomolo

Features:

  • Customizable UI built fully with JavaFX (dark overlay control, window scaling with fixed aspect ratio).

  • Dynamic backgrounds supporting GIF/PNG/JPG/JPEG.

  • Built-in Pomodoro timer with weekly stats, implemented with JavaFX charts.

  • Semi-transparent floating mini-player.

  • Playlist management and track importing.

  • Ambient sound mixer (rain/wind/fireplace).

  • GUI for yt-dlp

Would love feedback from the JavaFX community.


r/JavaFX • • Jun 07 '26

JavaFX in the wild! Javafx with custom skia rendering pipeline

Thumbnail
gallery
62 Upvotes

Hit the wall with javafx's limitations one too many times. so i spent the last few months rebuilding it from the inside. calling it skia-fx.

replaced the entire rendering pipeline with skia GPU. zero-copy where possible, CPU fallback when needed. 611fps on a dashboard isn't a typo.

swapped webkit out for blink + v8. actual chromium. youtube at 8k works. resize without flicker. no frame distortion.

the media stack now loads ffmpeg as a plugin. D3D11VA hardware decode. 8k AV1, HEVC, the formats that actually exist in 2026. pure JavaFX node — no embedded HWND, no pixel buffer roundtrip, no canvas abuse.

custom title bars that actually behave. native hit-testing, windows 11 snap layouts, pixel perfect at any DPI.

public API unchanged. your existing javafx code runs on it as-is.

still cooking: a true SVG node and a proper PDF module. both coming.

months of work. finally have screenshots worth showing ,

windows build dropping soon. will open it up when it's ready.

Here is the Repo , CPU rendering path is not ok, use GPU

NOTE : THIS IS A WORK IN PROGRESS , NOT STABLE.


r/JavaFX • • Oct 16 '25

I made this! Introducing KickstartFX - The most advanced JavaFX template for your app

60 Upvotes

Hello there, over the last few months I have been working on putting all the things I learned and improved over the years developing JavaFX applications into a ready-to-use template called KickstartFX. 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 producation application as most of them are taken straight from one, in this case XPipe.

Now in this subreddit I have seen a variety of posts trying to reinvent the simple build process of taking JavaFX code and producing native intallers and executables using questionable approaches and build tools. KickstartFX accomplishes this with a standard gradle build without forcing you to depend on some third-party distribution tool.

To summarize, it features the following features that you won't find in other templates:

  • A fully up-to-date build using the latest features of JDK25, Gradle 9, JavaFX 25, WiX 6, and much more

  • Native executable and installer generation for all operating systems using native tools

  • A fully modularized build, including fully modularized dependencies and the usage of jmods

  • Leyden AOT cache generation logic and customizable training run implementations

  • A ready-to-deploy GitHub actions pipeline to automatically build and release your application on all platforms

  • Close-to-native theming capabilities with AtlantaFX themes as the basis combined with many manual improvements

  • Advanced error handling and issue tracking with built-in support for Sentry

  • Markdown rendering capabilities out-of-the-box with flexmark and the JavaFX WebView

  • Integrated ability to automatically codesign the application on Windows and macOS

  • Solid state management for caches, persistent data, and more

  • Many common customization options available to users in a comprehensible settings menu

  • Update check capabilities and notifications for new GitHub releases

  • Built-in troubleshooting tools for developers and users, including debug mode, heap dump, and more

  • Hot-reload capabilities for all resources, including reapplying stylesheets

  • Plenty of checks to warn users about problems with their system configuration, environment, and compatibility

  • Desktop and registry access support classes

  • Robust dependency Linux package management and font handling, your application will even run in WSL

  • Application instance management and coordination via inter-process communication

  • System tray icon support and proper handling of AWT/Swing alongside JavaFX

  • Built-in support for Jackson and Lombok

  • Integrated translation support with user interface language changes applying instantly

  • Self-restart functionality to spawn new independent processes of your application

  • Application logo templates that look native on every operating system, including a macOS 26 liquid glass icon

  • Included third-party open source licenses of all dependencies, plus the required button to display them in the application

So as you can see, this is not a basic template but instead a full application, just missing your custom application content to be plugged in. You can of course also customize any part of the codebase, the idea is to fork the repository, not depend on it using a library.

The licensing model is designed to allow open source projects to use it under an Apache 2.0 license and other proprietary forks to contact me for licensing. Essentially, the base license for everyone is GPL3, but you can contact me to get the permission to license it under the Apache 2.0 license. The only thing you need to show for that is that you are developing your application in an open source repository. If you are a company, developing a closed-source application, and want to license it under something else than GPL3, you can also contact me for an offer.

Here are some screenshots of KickstartFX with the AtlantaFX sampler and some applications that are based on it:


r/JavaFX • • Dec 17 '25

Discussion IntelliJ removed free JavaFX support with version 2025.3!

57 Upvotes

EDIT: They have fixed it in IntelliJ 2025.3.3, which is currently in preview.

IntelliJ IDEA Community Edition used to have basic JavaFX support.

  • JavaFX templates when creating a project

  • FXML support

  • Getter, setter & property method generation for properties

With the release of 2025.3 however, Community Edition and Ultimate Edition were merged into one "Unified Distribution". Now, the basic JavaFX plugin we had in Community Edition is gone and instead there is a paywalled premium JavaFX plugin which requires a JetBrains subscription ("This plugin is available only with Ultimate subscription").

The FXML support was very useful and important to me. Now, FXML files are treated as regular XML files, there are no features anymore. With their announcement of the "Unified Distribution", they said "More Features Available for Free" (https://blog.jetbrains.com/idea/2025/07/intellij-idea-unified-distribution-plan/) and while there are some new things, they make no mention of entirely removing JavaFX support from free users nor do they make any mention of removing any features at all. They only talk about adding things for free users. But we lost this crucial feature.

Community Edition's JavaFX support was never advanced, for example it did nothing for CSS and did not integrate Scene Builder, but the project creation template was awesome and made starting a new JavaFX project very easy. This is especially important for beginners. The template would set up the Application subclass, the build tool plugin(s) and even an FXML file. But now all that is gone from free users. Getting started with JavaFX is a common complaint from absolute beginners, and this used to be a good way for them to get started. Now it is gone.

They mention that some kind of open-source version of Community Edition is continued on GitHub, but that is a special build meant for people who do not want to run any non-free code and not what you get when you download IntelliJ from their website and probably not what you get using package managers. I don't know if the basic JavaFX plugin survives in there, but it does not really matter (it is not a mainstream edition).

I hope that they loosen the paywall on the JavaFX plugin and give us back the features we used to have, or that they make a new plugin which contains the previously available basic features.


r/JavaFX • • 28d ago

I made this! I made Klunk - a JavaFX log viewing application

Post image
54 Upvotes

Hi everyone.

After starting this many years ago as a side project to test/learn JavaFX and out of my frustration of digging through massive dev logs in a text editor. This side-project sat half-finished for a long time, due to life getting in the way, but was finally able to push my log viewing app Klunk to a beta release.

It’s a Java 25 / JavaFX 26 desktop app available on Linux, Windows, and macOS.

Some features:

  • Load logs from disk, SFTP, Kubernetes pods, URLs, and databases.

  • Handles large files (millions of rows)

  • Fast navigation + filtering

  • Customizable UI

  • Analysis reports.

  • Free

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.

Klunk


r/JavaFX • • Dec 28 '22

I made this! AboutFX

52 Upvotes

An unofficial GitHub repo that sums up everything about the JavaFX project state on a single page.

https://github.com/mkpaz/aboutfx

It's like abandoned AwesomeJavaFX, but with nice charts and highlights. So, next time someone says JavaFX is dead or unmaintained, you can just share the link. And even if you already know everything about the JavaFX, I think it's still maybe interesting to see how it looks in numbers. Enjoy and happy new year!


r/JavaFX • • Mar 14 '21

I made this! I created a simple on-screen timer to help focusing!

52 Upvotes

r/JavaFX • • Jul 31 '26

I made this! FileFX

50 Upvotes

Hace mas de un mes que me encuentro desarrollando un explorador de archivos desarrollado en JavaFX 21. El github es https://github.com/FranciscoRatti/FileFX

Todo empieza cuando descubri Yazi (Un explorador de archivos en terminal super rapido) y lo pude instalar en mi LinuxMint. Me encanto, y siempre me pasaba que al usar Nemo (El explorador de Mint) siempre tenia que usar el mouse, entonces abria una terminal para usar Yazi con el teclado, lo cual me parecia un poco incomodo el tener que abrir una terminal cada vez que quiera navegar en mi sistema de archivos.

Para resolver este problema decidi lanzarme a hacer un explorador de archivos.

Esta programado DESDE CERO y por mi, no por la IA. Esta 100% desarrollado en JavaFX y compilado a imagen nativa con Liberica NIK (Basicamente es GraalVM con soporte a muchos frameworks) lo cual hace que arranque muy rapido y consuma poco. Todo se puede hacer con atajos de teclado y es sssssssssuper configurable. Mi idea es que sea ligero y que no tenga funciones inutiles que nunca vas a usar.

El tema de la aplicacion esta definidio por UN archivo .css, me gustaria que en un futuro la comunidad desarrolle sus temas y los comparta, osea que simplemente comparta su archivo theme.css y listo.

Me haria mucha ilusion que mas gente se sume al proyecto porque hacer esto yo solo me lleva mucho tiempo.

Las caracteristicas que pienso implementar en el futuro son:

  • Pestañas

  • Un comando GOTO (Como en Yazi)

  • Vista en arbol

  • Que se puedan modificar permisos de archivos

  • Que se pueda abrir con permisos elevados

  • Soporte a la nube

Pronto pienso hacer un .md hablando de la estructura del codigo para la ayudar a la gente que se quiera sumar al desarrollo


r/JavaFX • • Jun 23 '25

I made this! JavaFx video editor ?

50 Upvotes

lots of work has been spent on this already, and still more work needs to be spent, this can serve as a proof of concept, the gui is purely javafx, the media processing is using a custom ffmpeg wrapper, please let me know what you think (still working on segmenting and caching for live preview)

github.com/SDIDSA/decut


r/JavaFX • • Sep 11 '26

JavaFX 27 Release Notes

Thumbnail
github.com
49 Upvotes

r/JavaFX • • Sep 01 '26

Discussion What is the future of JavaFX looking like?

48 Upvotes

Been developing in JavaFX for hobby projects for a while and absolutely loving it. However I am a bit worried about JavaFX's future and adoption

- The official OpenJFX website has some horribly outdated info. It's testimonials talk about Java 11 being released, and the docs and getting started are all on Java 11
- The community projects on the website never change. Most are not maintained and are very old
- The official documentation looks horrible. It uses old screenshots, and even old/outdated practices
- Although the development seems to be going good
- How is Gluon doing as an organisation? They provide commercial support for other companies using JavaFX, how successful is that going for them? How many companies actually use the Gluon License
- How often is JavaFX used in commercial/business applications?

I am mostly worried about Gluon. I am grateful to them for their contributions to the JavaFX technology, but I wonder how it is looking for them in JavaFX in the long run.

Desktop applications as a whole have been seeing declining usage. Electron ate JavaFX, Avalonia, QT's breakfast. (QT still going strong though)

Also how will the Java verified portfolio help JavaFX??

I genuinely wish best for the JavaFX and hope it continues to evolve


r/JavaFX • • Oct 11 '24

I made this! Announcing DevToolsFX

47 Upvotes

Originally intended to fix long-standing bugs in Scenic View, it has been completely rewritten from scratch.

GitHub link

Key differences:

  • Modern Java.

  • Reduced, more maintainable codebase with clear model/UI separation.

  • Only depends on javafx.controls.

  • Additional features: stylesheet and environment exploration, including the latest JavaFX Preferences API. Dark theme coming soon.

  • No separate desktop app yet (only embedded). Still deciding between RMI or WebSocket.

  • No property editing support, as it complicates the code unnecessarily.


r/JavaFX • • Sep 18 '26

Discussion How can JavaFX attract more developers?

46 Upvotes

I wanted to know how the situation with JavaFX is. How true is it that it's multiplatform? Any features you would like to see? Does anyone know if better times are coming?

JavaFX seems like a cool project to make desktop applications, keeping in mind that I know a bit of Java and well, giving it a try wouldn't hurt

Searching for resources or applications where JavaFX is used, I saw some interviews which explain their projects using JavaFX, and I've noticed that JavaFX is very capable of doing incredible things that I had never imagined

And one way or another, I found myself leaning towards JavaFX, and the truth is I would like to know some recommendations to create desktop applications with JavaFX.

I don't know if it's fine if I start with the books The Definitive Guide to Modern Java Clients with JavaFX and Learn JavaFX 17 as a base to learn JavaFX.

I understand that JavaFX is used in internal corporate applications and that it's a great tool that works very well

At the same time, it feels strange to me, but I don't know, it generates certain doubts for me, such as architecture patterns, I don't know, but compared to the Spring framework which usually has defined structures, the documentation or ways of solving some slightly complex things. I understand that one is a big framework behind which there are many developers compared to JavaFX. I don't know, in a way 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 or this one we've made, and so on

So far I've only made static web pages and haven't gone deeper. Plus the fact that I don't know how Angular or React work on the front end. Maybe in The Definitive Guide to Modern Java Clients with JavaFX I can resolve that doubt

And I think I'm misunderstanding JavaFX when it refers to being multiplatform. I understand that it is a very high level of complexity since each Operating System or each Desktop Environment has its own rules and ways of working, not to imagine on mobile. And my doubt is whether JavaFX fits well in the different operating systems and if applications can be reached that look native or look really pretty on an operating system

I mentioned it because, seeing if there are similar projects to make interfaces but only with Java, you have WinUI4k which is for Windows, while for Linux(GTK DE) there is Java-GI or QtJambi. I understand they are like wrappers, but Java-GI seemed very cool to me. Maybe it's my personal preference, but I like apps match the appearance of the operating system

And now that I see it beyond CRUDs, JavaFX can do more things that are probably not defined in operating systems, But the idea of making interfaces that look native to each Operating System with Java won't leave my head.

There is AtlantaFX which has themes that can go very well in different operating systems, which can be reached very nice results using CSS, and maybe that's the way in which one should develop with JavaFX.

Something that disconcerts me is that some functionality like tray applications, notifications, or other things that until now I haven't considered, are not contemplated by JavaFX, but it can be done through AWT, which the application keeps working fine. Because I feel like I'm misunderstanding JavaFX. Because the truth is it left me thinking, since only the window and its content are contemplated, I don't really know.

Anyway, I have the certainty that JavaFX will be improving over time

It's strange, but I feel uncomfortable saying it because I haven't even tried JavaFX and it seems like I'm proposing or commenting on things without knowing the great complexity it requires, or underestimating the work of the team behind JavaFX

And it's like: what more do you want people to do, this is already being done, or why don't you do it yourself, you already have AI, don't bother, this is JavaFX and if you don't like it, you are welcome to leave.

Now I feel like I got nowhere


r/JavaFX • • Sep 24 '26

I made this! AtlantaFX 3.0.0 released

45 Upvotes

... with decorations, Scene Builder plugin, theme manager and a new Sidebar component.

Release & changelog.


r/JavaFX • • Jan 31 '20

JavaFX is Amazing or is it just me.

45 Upvotes

After Oracle took over Java I was shying away from anything Java. Even when using Java, it wasn't that swing was bad, it just showed it's age (IMHO). After a software framework I was using for cross-platform was just getting more expensive with little free library support, I looked again for something. Some frameworks were still in Alpha (Flutter for Windows/Mac) or just required me to be a web designer(don't mind a little CSS). I saw an article about JavaFX being pulled out of Java. With OpenJDK and OpenJFX opensource projects, I wanted to give it a try. With Corretto from amazon for an easy Java install on Windows/Mac and OpenJDK install for Linux I was ready to try (Didn't want to install Oracle Java and force a licensing fee for my customers)

I am really impressed with JavaFX. How easy it is to use it, the tools available, the libraries available due to Java, the appearance of the app itself. With an .exe wrapper and libraries included in the app install, there was no dependence for installing Java. Very Happy. I guess I am late to the game but I guess I am just totally impressed. I hope more people see the value.


r/JavaFX • • Sep 21 '26

PSA: Starting with JDK27, you do no longer need to create a separate Main class to launch a JavaFX application using the classpath

Thumbnail bugs.openjdk.org
43 Upvotes