Today I’m starting to move my open-source projects to Java SE 9. I’ve covered the various significant changes in that release in four previous posts:
- Java SE 9 First Look
- Java 9 Incompatibilities
- JavaFX DPI Scaling in Java 9
- JavaFX Spinner for Numbers (updated)
As described there, some unexpected factors came up that turned the move to Java 9 into more than just a recompilation. Specifically, all projects were updated concerning the following issues:
- Oracle has dropped the 32-bit Windows JRE with its obsolete Client VM and also disabled browser integration by default, so I can stop warning people about that.
- JavaFX stopped special-casing 120 DPI (= 125%) on Windows, so troubleshooting tips regarding layout errors at that setting are no longer necessary.
- JavaFX now correctly scales minimum and maximum window sizes. Another known error that was dropped from the ReadMe files.
- JavaFX spinners now bind their editor’s
ToolTip
property to that of the spinner. Setting the editorToolTip
directly is no longer necessary nor indeed possible. - Source packages were switched to IntelliJ IDEA projects, as NetBeans still doesn’t have an official Java 9 release.
I decided to require Java 9 rather than create builds compatible with Java 8 because that’s awkward for JavaFX applications (requires the Java 8 jfxrt.jar
), and would also mean people could still run into the old 32-bit JRE and JavaFX issues. A clean break is best here.
Updated Projects
In this section you can find all projects that have already been moved to Java 9. I’ll keep the list updated with freshly ported projects as they are released. I don’t plan to simultaneously implement any other big changes, so aside from the issues noted above there should be only minor bugfixes.
- MIME Browser 1.3.5 – see What’s New. Added JavaBeans Activation Framework to the distribution to work around a module issue, as noted in Java 9 Incompatibilities.
- Star Chess 2.0.5 – see What’s New. No special issues.
- Class Diagrammer 2.2.0 – see dedicated release post as this one had quite a lot of changes.
- Tektosyne 6.1.0 – see dedicated release post as some important bug fixes coincided with the update.
- Myriarch 2.0.2 – see What’s New. Version 2.0.1 exhibited a wobbly map view, as JavaFX 9 continually resized it in response to redrawing for some reason. Version 2.0.2 patched that up by checking for size changes not exceeding one pixel.
2018-03-06: All active Java projects have now been moved to Java 9.