<AWT Dev> [8] Review request for 7177173: [macosx] JFrame.setExtendedState(JFrame.MAXIMIZED_BOTH) not working as expected in JDK 7

Anthony Petrov anthony.petrov at oracle.com
Wed Jul 4 08:15:42 PDT 2012

Hi Sergey,

Thanks for the review.

On 7/4/2012 7:07 PM, Sergey Bylokhov wrote:
> Why there are two different methods for isZoomed?
>  481             final boolean isZoomed = *this.normalBounds == null*;

Here we determine a new state that needs to be set to an undecorated 
window. This is what isZoomed() will return after the zoom() method returns.

> But in the method we use another code.
>  471     private boolean isZoomed() {
>  472         return zoomed || *this.normalBounds != null*;
>  473     }

This is a method that returns the current zoomed state for any window 
regardless whether it is decorated or not.

> Probably it can be unified?

No. These are completely different operations. We might change the first 
line to "final boolean isZoomed = !isZoomed();", but the current code 
looks a lot clearer to me.

best regards,

> 04.07.2012 18:54, Anthony Petrov wrote:
>> Hello,
>> Please review a fix for http://bugs.sun.com/view_bug.do?bug_id=7177173 
>> at:
>> http://cr.openjdk.java.net/~anthony/8-36-MaximizedBoth-7177173.1/
>> The bug synopsis may sound misleading: the original problem with 
>> applying the extended state after showing a frame has been resolved a 
>> while back with another fix. The only issue currently left is that the 
>> state is reset when a frame is disposed/hidden, which prevents apps 
>> from tracking the last known state of a window.
>> With this fix we avoid canceling/reapplying the maximized state to 
>> windows on each showing/hiding operation. Instead we track the state 
>> in the CPlatformWindow instance, and apply it on showing of the window 
>> if the state differs from what shared code expects. The behavior now 
>> matches that of Apple JDK (including handling of the ICONIFIED state).
>> -- 
>> best regards,
>> Anthony
> -- 
> Best regards, Sergey. 

More information about the awt-dev mailing list