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.rushfo...@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.
>> 
>> 
>> 

Reply via email to