<AWT Dev> [9] Review request for 8147440 HiDPI (Windows): Swing components have incorrect sizes after changing display resolution

Alexandr Scherbatiy alexandr.scherbatiy at oracle.com
Mon Mar 21 20:33:07 UTC 2016

On 2/10/2016 5:32 AM, Sergey Bylokhov wrote:
> On 05.02.16 10:52, Alexandr Scherbatiy wrote:
>>    The first approach is to rescale only frame size on native level so
>>      newNativeWindow.size = newScale *  javaWindow.size
> What location will be in this approach?
     The idea was to update WComponentPeer.setBounds(x,y, w, h) method 
that it sets only size for the op=SET_BOUNDS on the native level.
     In this case the native window location and java window location 
will not be changed.
     However, the relation between newNativeWindow.location and 
javaWindow.location will use the old scale factor instead the new one.

> Does the native app work in the similar way(changes the size only)?
     Yes. The native application changes their size but leaves the 
location the same.


>>    This allows to leave the nativeWindow.location unchanged but the rule
>>      nativeWindow.location = newScale * javaWindow.location
>>    will be broken in this case.
>>    The proposed fix explicitly rescales javaWindow.location in
>> WWindowPeer so
>>    nativeWindow.location = prevScale * prevJavaWindow.location =
>> newScale * newJavaWindow.location
>>   Thanks,
>>   Alexandr.

More information about the awt-dev mailing list