Summary
-------
Update the minimum version needed to run JavaFX to JDK 22.
Problem
-------
In order for JavaFX to be able to use newer JDK features, such as FFM (Panama), we need to increase the minimum version of the JDK that can run the latest JavaFX. Additionally, there is an ongoing cost to keeping JavaFX buildable and runnable on older versions of Java, and very little reason to continue to do so.
Solution
--------
Use `javac --release 22` to generate the class files that make up the JavaFX modules, except for the `javafx.swing` module where we will use `-source 22 -target 22`. The `javafx.swing` module requires the `jdk.unsupported.desktop` module, which is excluded by `--release NN`. Using `-source 22 -target 22` is functionally equivalent, although it doesn't provide protection against accidentally using APIs that are present in the boot JDK with which we build JavaFX, but are unavailable in JDK 22. Care must be taken not to introduce a dependency on a too-new API by the `javafx.swing` module. As that module is unlikely to evolve, this is not much of a concern.
Specification
-------------
The class files in all JavaFX modules will be version 66.0 class files, meaning that they will only run on JDK 22 or newer.
The following will be added to the JavaFX 24 release notes:
### JavaFX 24 Requires JDK 22 or Later
JavaFX 24 is compiled with `--release 22` and thus requires JDK 22 or later in order to run.
If you attempt to run with an older JDK, the Java launcher will exit with an error message
indicating that the `javafx.base` module cannot be read.
See [JDK-8340003](https://bugs.openjdk.org/browse/JDK-8340003) for more information.