-
Bug
-
Resolution: Fixed
-
P3
-
jfx12
As part of implementing JDK-8195811, the implementation of JavaFX / Swing interop was refactored to allow for two implementations, the "old" (pre-JDK 11) implementation that relies upon qualified exports of internal Swing and AWT packages, and a "new" (JDK 11) implementation that uses a public API in the jdk.unsupported.desktop module.
Once openjfx requires JDK 11 to build and run (seeJDK-8209966), we can remove the old implementation and the associated build logic needed to support it.
The main tasks will be:
1. Remove the 'oldimpl' package as well as the reference to it from the InteropFactory
2. Unconditionally use jdk.unsupported.desktop from module-info in javafx.swing:
a. Move the javafx.swing module-info.java back into src/main/java
b. Remove the build logic that copies module-info.java into gensrc and uses it from there
c. Change "requires static jdk.unsupported.desktop" to simple "requires jdk.unsupported.desktop" [*]
3. Remove the support for building and running the 'oldimpl' package:
d. Remove the build logic that optionally excludes "newimpl" at compile time
e. Remove dependencies/java.desktop/module-info.java.extra
f. Remove the qualified exports of the 6 internal java.desktop packages from build.gradle
g. Remove the HAS_UNSUPPORTED_DESKTOP flag
[*] This will have the advantage of not forcing developers to explicitly include jdk.unsupported.desktop in a custom jlinked image when including the javafx.swing module, which is a bug reported inJDK-8210759.
Once openjfx requires JDK 11 to build and run (see
The main tasks will be:
1. Remove the 'oldimpl' package as well as the reference to it from the InteropFactory
2. Unconditionally use jdk.unsupported.desktop from module-info in javafx.swing:
a. Move the javafx.swing module-info.java back into src/main/java
b. Remove the build logic that copies module-info.java into gensrc and uses it from there
c. Change "requires static jdk.unsupported.desktop" to simple "requires jdk.unsupported.desktop" [*]
3. Remove the support for building and running the 'oldimpl' package:
d. Remove the build logic that optionally excludes "newimpl" at compile time
e. Remove dependencies/java.desktop/module-info.java.extra
f. Remove the qualified exports of the 6 internal java.desktop packages from build.gradle
g. Remove the HAS_UNSUPPORTED_DESKTOP flag
[*] This will have the advantage of not forcing developers to explicitly include jdk.unsupported.desktop in a custom jlinked image when including the javafx.swing module, which is a bug reported in
- blocks
-
JDK-8212728 Update the Eclipse classpath file for the Swing module
- Resolved
-
JDK-8211249 Refactor javafx.swing implementation to get rid of unneeded abstraction layer
- Resolved
- duplicates
-
JDK-8210759 Swing interop fails when using a minimal jdk image created with jlink
- Closed
- is blocked by
-
JDK-8209966 Update minimum boot JDK to 11
- Resolved
- relates to
-
JDK-8195811 Support FX Swing interop using public API
- Resolved
- links to
(1 links to)