Understanding the com.sun.* APIs being (ab)used by the community
David DeHaven
david.dehaven at oracle.com
Mon Jun 8 16:48:40 UTC 2015
It'll work as long as the class in question (Screen in this case) is exported. If not, you'll likely get a security exception or CNFE.
-DrD-
> On Jun 5, 2015, at 8:28 AM, Kevin Rushforth <kevin.rushforth at oracle.com> wrote:
>
> Yes, this will still work, although dipping into non-public state continues to be something we wouldn't recommend that an application rely on...
>
> -- Kevin
>
>
> Dr. Michael Paus wrote:
>> As nobody has stated it explicitly so far I would like to ask what will happen
>> to classes in Java9 which access methods that are within the javafx namespace but
>> are declared private? Will code like this still work or not?
>>
>> public static double getPixelScale(Screen screen) throws NoSuchMethodException, SecurityException, IllegalAccessException, IllegalArgumentException, InvocationTargetException {
>> Method m = Screen.class.getDeclaredMethod("getScale");
>> m.setAccessible(true);
>> return ((Float) m.invoke(screen)).doubleValue();
>> }
>>
>> This hack for example is currently necessary because there is no other way to get at
>> the current pixel scale of a HiDPI screen.
>>
>>
>>
More information about the openjfx-dev
mailing list