<Swing Dev> Public API for internal Swing classes.

Alexander Scherbatiy alexandr.scherbatiy at oracle.com
Mon Jul 27 12:30:04 UTC 2015


According to the JEP 200: The Modular JDK (see 
http://openjdk.java.net/jeps/200)
we expect that the standard Java SE modules will not export any internal 
packages.

It means that classes from internal packages (like sun.swing) will not 
be accessible.

For example:
   sun.swing.FilePane
   sun.swing.SwingUtilities2
   sun.swing.sun.swing.plaf.synth.SynthIcon
and others.


Please, let us known if you are using the internal Swing API and it is 
not possible to replace it by public API.

There are some known requests:

   JDK-8132119 Provide public API for text related methods in 
SwingUtilities2
     https://bugs.openjdk.java.net/browse/JDK-8132119

   JDK-8132120 Provide public API for screen menu bar support on MacOS
     https://bugs.openjdk.java.net/browse/JDK-8132120

   JDK-6274842 RFE: Provide a means for a custom look and feel to use 
desktop font antialiasing settings.
     https://bugs.openjdk.java.net/browse/JDK-6274842


If you don't know if you use these types (because you use 3rd party jars)
you can use the JDK 8 "jdeps" tool to find such dependencies :-

~/jdk1.8/bin/jdeps
Usage: jdeps <options> <classes...>
where <classes> can be a pathname to a .class file, a directory, a JAR
file, or a fully-qualified class name

Thanks,
Alexandr.




More information about the swing-dev mailing list