There is a bug in JFX which often manifests when calculating screen co-ordinates https://bugs.openjdk.java.net/browse/JDK-8194727 and https://bugs.openjdk.java.net/browse/JDK-8190400
I've tracked the problem down to the implementation of GeneralTransform3D, which is part of the javajfx runtime.
I've submitted a bug report to Oracle, but until it is accepted, fixed, and makes it to a release, I need a way of fixing my application.
In java 8 i was able to create a jar containing a fixed version of the class and install it in the lib/ext folder. This seemed to work and the JFX implementation used my impl over its own.
In java 10 the extension mechanism has been removed. Adding the patch jar to the classpath doesn't work as it is too late in the classloading process.
Is there a way to override/patch an implementation of the core java classes in Java 10?
Note that i'm not using this class directly, it is used by the framework
--patch-module javafx.runtime=patch.jar
is the right way to override classes in this module. Using agents is a bit crazy in this case. BTW: Using the ext directory with JDK 8 was fragile in this case because it was random if the JAR file with the patches is located first. – Attenborough