<AWT Dev> [9] Review Request: 7124365 [macosx] setMaximizedBounds() should be implemented
Alexander Zvegintsev
alexander.zvegintsev at oracle.com
Tue Apr 15 14:01:41 UTC 2014
Hello Petr,
#1:
I noticed that a window doesn't move on
setExtendedState(Frame.MAXIMIZED_BOTH) if a window already have
the same size as provided to setMaximizedBounds().
Another case:
we successfully maximized a window, its window state is MAXIMIZED_BOTH,
we moved a window, its window state is NORMAL
we trying to maximize it once again, window state becomes
MAXIMIZED_BOTH, but window keeps its location.
I think, that a user would expect that the window will be moved to its
MaximizedBounds location.
#2:
I suggest to place check against javaMaxSize above javaMinSize in
AWTWindow.m.
IIRC, on Windows, Linux and Mac OS X min size native hint is more
powerful than max size. So after applying native hints like
frame.setMinimumSize(new Dimension(300, 300));
frame.setMaximumSize(new Dimension(200, 200));
the size of a frame will be 300x300 (java currently supports maximum
size on OS X only, but you can check it with any native program).
And calling
frame.setMaximizedBounds(new Rectangle(300, 300, 500, 500));
will lead to a window with size 200x200, but I expect here 300x300
(anyway I think that it is a ridiculous case).
But just moving this checks isn't enough because of #1 (a window has
size same to specified in setMaximizedBounds() and doesn't move).
Thanks,
Alexander.
On 04/15/2014 04:33 PM, Petr Pchelko wrote:
> Hello, AWT Team.
>
> Please review the fix for the issue:
> https://bugs.openjdk.java.net/browse/JDK-7124365
> The fix is available at:
> http://cr.openjdk.java.net/~pchelko/9/7124365/webrev/
>
> The implementation is pretty straightforward.
> In native -1 indicates that this bound is not set. Using Integer.MAX_VALUE as in Frame’s javadoc isn’t convenient in native code.
> We do not need to worry about bounds that do not fit the screen - Cocoa handles it for us.
> But we need to handle the maximum/minimum sizes manually, because these are applied before the willUseStandardFrame callback is called.
> The regression test for this exists, it’s being moved from SQE right now. I’ll modify it to support Mac as soon as it’s pushed.
>
> Thank you.
> With best regards. Petr.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.openjdk.java.net/pipermail/awt-dev/attachments/20140415/7b06fd52/attachment.html>
More information about the awt-dev
mailing list