JavaFX GUI Scaling at 120-144 DPI

I just updated my comparison of DPI Scaling in Windows GUIs for the recently released Java SE 8 Update 60 which brought automatic coordinate scaling for JavaFX on Windows at high DPI settings. I had previously only checked that the 200% (192 DPI) setting I’m using on my Dell XPS 15 works correctly. Now I … Continue reading “JavaFX GUI Scaling at 120-144 DPI”

JavaFX DPI Scaling: Fixed!

The upcoming Java release 8u60 is set to finally fix the JavaFX DPI scaling issues on Windows that I described back in August 2013. To recap, JavaFX would scale the default application font to the current Windows DPI setting and the built-in controls would generally scale themselves around that font size. However, explicitly specified pixel … Continue reading “JavaFX DPI Scaling: Fixed!”

MIME Browser & Star Chess Updated

Following the recent release of Java SE 8 Update 40, I’ve updated my two open-source projects that currently use JavaFX to its latest version: MIME Browser 1.3.2 and Star Chess 2.0.1. In both cases, I replaced my homespun exception dialogs and message boxes with calls to the new dialog API. There were also a few … Continue reading “MIME Browser & Star Chess Updated”

Java SE 8 Update 40 Released

Java Standard Edition 8 Update 40 is now upon us, and despite the “Update” designation this was a fairly massive feature release. You can find overviews at Java Source and Java Tutorials, and of course the detailed release notes. The changes I’m most interested in concern JavaFX, including accessibility support, new controls – more on … Continue reading “Java SE 8 Update 40 Released”

Star Chess: The Next Generation

At long last I’ve finished updating Star Chess to Java and JavaFX. This little space empire builder was the founding project of the Kynosarges website. The original Fortran 90 version (yes, really) was the first page I published back in 1999. The first total rewrite in plain C for Windows followed in 2001. Then the … Continue reading “Star Chess: The Next Generation”

ListView Text Alignment

The ListView class of JavaFX 8 shows one item per line – one String in the simplest case. What if you want to visually separate individual string fragments (words, numbers)? You could use a TableView with multiple columns, but that may not be appropriate for your data. Or you could insert tab characters ("\t") into … Continue reading “ListView Text Alignment”

Simulating Platform.runAndWait

Every JavaFX application maintains one single JavaFX application thread running the application’s event queue, much like Swing’s event dispatch thread. System-generated events such as mouse clicks are automatically inserted into the event queue. JavaFX also provides the method Platform.runLater to programmatically enqueue an arbitrary Runnable function object. You might occasionally wish to call runLater from … Continue reading “Simulating Platform.runAndWait”

JavaFX Text Icons as Images & Files

There are plenty of high-quality icon fonts for scalable user interfaces, and drawing them directly as Text into JavaFX UIs is simple. But what if you need the icon as an Image or a disk file? That’s not hard to achieve, either, but there are some non-obvious steps and many Java APIs to navigate. So … Continue reading “JavaFX Text Icons as Images & Files”

WebView, the other JavaFX UI

Aside from its native UI facilities, JavaFX provides a WebView that’s a fully-featured embedded HTML5 browser. The underlying WebEngine is a modified Webkit engine which comes as part of the freely available JavaFX source code. For JavaFX 2.2.4 (part of Java SE 7), Oracle offered a separate download. This code was based on Webkit 535.21, … Continue reading “WebView, the other JavaFX UI”