[OpenJDK 2D-Dev] Internal API usage: sun.font.FontUtilities

Phil Race philip.race at oracle.com
Tue Jul 28 17:24:58 UTC 2015

 > sun.font.FontUtilities.getCompositeFontUIResource(Font)

The first line of the javadoc comment in the source code says :
      * This method is provided for internal and exclusive use by Swing.

And previous refactoring has moved it so that it's no longer even
on the same class as when it was first created.

Generally speaking it is helpful to provide the reason, ie the use
case as to the how and why they use this API.
In some cases people asking for a new API have simply overlooked
an existing solution. I do not necessarily think that is the case here
but it it would be nice to have that additional information.


On 07/28/2015 08:38 AM, Alexander Scherbatiy wrote:
>  Resending the question about sun.font.FontUtilities to 2d-dev alias.
>  Thanks,
>  Alexandr.
> On 7/27/2015 4:24 PM, Andrej Golovnin wrote:
>> Hi Alexander,
>> in our application we make use of
>> sun.font.FontUtilities.fontSupportsDefaultEncoding(Font)
>> sun.font.FontUtilities.getCompositeFontUIResource(Font)
>> to obtain an instance of CompositeFont.
>> Best regards,
>> Andrej Golovnin
>> On Mon, Jul 27, 2015 at 2:30 PM, Alexander Scherbatiy
>> <alexandr.scherbatiy at oracle.com> wrote:
>>> 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 2d-dev mailing list