[11] RFR JDK-8202199 : Provide public, unsupported API for FX Swing interop

Prasanta Sadhukhan prasanta.sadhukhan at oracle.com
Fri May 4 12:00:20 UTC 2018

Hi All,

Please review an enhancement to remove the tight coupling of JDK 
internal class from FX so that
when javafx.* modules are removed from Openjdk build in jdk11, FX in 
general, and fx swing interop, in particular, can still build and function.

Right now, FX uses 6 jdk internal packages
sun.swing, sun.awt, java.awt.dnd.peer, sun.awt.dnd, sun.awt.image and 

However, the goal is not to use qualified exports of these internal 
packages once FX is removed to be built along with JDK,

The solution will define a new "jdk.unsupported.desktop" module that 
exports public API
that is intended to be used by the javafx.swing module (but it does so 
with public exports and not qualified exports).
The idea is the same as jdk.unsupported, in that it is documented as 
being unsupported.
Further, since it is only intended to be used by javafx.swing, it need 
not be in the default module graph.

The module-info.java will look like this:

|module jdk.unsupported.desktop { requires transitive java.desktop; 
exports jdk.swing.interop; } |||

Enhancement: https://bugs.openjdk.java.net/browse/JDK-8202199, 
webrev: cr.openjdk.java.net/~psadhukhan/fxswing.6/
CSR: https://bugs.openjdk.java.net/browse/JDK-8202175



More information about the openjfx-dev mailing list