- 
    
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)