3DViewer: Better 3D for JavaFX

JavaFX has long had basic 3D capabilities, although you might not guess it as some outdated package descriptions still only speak of “two-dimensional geometry.” Oracle offers an online tutorial for JavaFX 3D, and JavaFX by Example devotes a chapter to it. Here’s a brief overview: Package javafx.geometry defines a 3D bounding box and a fairly … Continue reading “3DViewer: Better 3D for JavaFX”

Java SE 10: C# Porting Release

Oracle has recently released Java SE 10, and as usual you can find all the requisite information and links on their overview page. This is the first version that follows last year’s accelerated release scheme, with a new major version dropping every six months. Looking at the final specifications you might well wonder what’s so … Continue reading “Java SE 10: C# Porting Release”

CSS Guide & JavaFX Examples

CSS: The Definitive Guide — Eric A. Meyer & Estelle Weyl, O’Reilly 2017 (4th ed.), ISBN 978-1-449-39319-9 The long expected update to a classic last revised in 2006, this massive tome is certainly definitive in size and detail. More than a thousand pages cover every esoteric wrinkle of CSS anyone might possibly want to know … Continue reading “CSS Guide & JavaFX Examples”

JavaFX decoupled from Java SE 11

Three weeks ago, Oracle’s Donald Smith announced that JavaFX will be decoupled from Oracle’s own Java distributions starting with Java SE 11 (expected this fall). This is reflected in the updated Java Client Road Map which also notes that Swing and AWT will continue to be part of Java SE, “supported by Oracle through at … Continue reading “JavaFX decoupled from Java SE 11”

Tektosyne 6.2.0 Released

Tektosyne 6.2.0 is now available for download. This is another bugfix release, again mostly based on feedback from Github user Mushrooms (sf17k) (thanks!). You can find a summary in the What’s New file. As before, the library itself requires Java 8 while the IntelliJ project and demo application are based on Java 9.0.4. Voronoi Diagrams … Continue reading “Tektosyne 6.2.0 Released”

Windows GUI DPI Scaling in 2018

I have updated the article DPI Scaling in Windows GUIs with a modified test suite and new sets of screenshots for Windows 10 Creators Update, Microsoft .NET Framework 4.7.1, and Oracle Java SE 9.0.4. The focus of this update was of course Java 9 as JavaFX ceased special-casing 120 DPI, and AWT/Swing even got full … Continue reading “Windows GUI DPI Scaling in 2018”

Programming .NET without Visual Studio

Back in 2013 I wrote about Programming .NET 4.5 without VS2012. The reason was that Microsoft had yanked its free compilers from the free Windows SDK, yet Visual Studio at the time did not offer a reasonable free option. The first point still holds, the second does not. You can now simply download the free … Continue reading “Programming .NET without Visual Studio”

Tektosyne 6.1.0 Released

Tektosyne 6.1.0 is now available for download. This is a fairly substantial bugfix release, with a number of specific changes beyond those described in my overview post, Moving Projects to Java 9. You can find a summary in the What’s New file. First, a clarification. While the JavaFX demo application and IntelliJ IDEA project files … Continue reading “Tektosyne 6.1.0 Released”

Andechs Abbey

The hill overlooking the small Bavarian municipality of Andechs originally held a medieval castle, razed in 1208. By that time, however, several relics had already been transferred to the site, making it a popular pilgrimage location. Consequently Duke Albert III of Bavaria turned the site into a Benedictine monastery in 1455, raised to the status … Continue reading “Andechs Abbey”

Beware of Java’s inconsistent MIN_VALUE

An astute user of my Tektosyne library noticed that I had made a simple but disastrous copy-paste mistake regarding the floating-point versions of some basic algorithms, such as finding the maximum of an array of numbers. The integral versions initialize the return value to e.g. Integer.MIN_VALUE and then check for any greater values. I copied … Continue reading “Beware of Java’s inconsistent MIN_VALUE”