<AWT Dev> [9] Review request 6383434: Frame.setMaximumSize() doesn't work

Petr Pchelko petr.pchelko at oracle.com
Thu Jan 23 11:15:52 PST 2014


Ok, Thank you for the clarifications.

The fix looks good to me. I assume it’s a pre review before filing the CCC request..

With best regards. Petr.

23 янв. 2014 г., в 11:14 после полудня, Alexander Zvegintsev <alexander.zvegintsev at oracle.com> написал(а):

> This case is legalized in javadoc:
> src/share/classes/java/awt/Window.java:
> 878      * If the minimum size of this window is greater than {@code maximumSize}
> 879      * then minimum size will be applied.
> 
> This situation may sounds weird, but it handled in the same way across all platforms by system hints:
> min size hint is more powerful than max size, so I didn't add any any additional handling for this case.
> But possibly, we should do that explicitly.
> 
> --
> Thanks,
> Alexander.
> 
> 23.01.2014 20:12, Petr Pchelko wrote:
>>> This is done for following case:
>>> We have a frame with
>>>        f.setMinimumSize(new Dimension(200, 200));
>>>        f.setMaximumSize(new Dimension(100, 100));
>>> 
>>> Call to f.setMinimumSize(null); will remove minimum size hints and only maximum size hints (100x100) should be applied,
>>> but window will remain 200x200 size until next move or resize. So here we resize window to fit the maximum size immediately.
>> Hmm… Should it be legal to set the MaximumSize < MinimumSize? What should take precedence in this case? Quite a weird situation..
>> 
>> With best regards. Petr.
>> 
>> 23 янв. 2014 г., в 7:59 после полудня, Alexander Zvegintsev <alexander.zvegintsev at oracle.com> написал(а):
>> 
>>> Hi Petr,
>>> please see in-line:
>>> 
>>> On 01/23/2014 07:25 PM, Petr Pchelko wrote:
>>>> Hello, Alexander.
>>>> 
>>>> Does your fix also address https://bugs.openjdk.java.net/browse/JDK-7124365 ? As I understand, it’s not?
>>> Yes, it isn't. From my understanding, there is no way to maximize window to size smaller than
>>> screen size (excluding dock and menubar) on Mac OS. Such windows are considered as not maximized.
>>> 
>>> Javadoc says:
>>>     * Note, the given maximized bounds are used as a hint for the native
>>>     * system, because the underlying platform may not support setting the
>>>     * location and/or size of the maximized windows.
>>> 
>>> I think that Mac OS is the case when this feature is not supported and 7124365 may be closed as not an issue.
>>>> Could you please update the copyright years.
>>> Done in place.
>>>> I have a concern about Window.setMinimumSize update. Why are you adding it?
>>> This is done for following case:
>>> We have a frame with
>>>        f.setMinimumSize(new Dimension(200, 200));
>>>        f.setMaximumSize(new Dimension(100, 100));
>>> 
>>> Call to f.setMinimumSize(null); will remove minimum size hints and only maximum size hints (100x100) should be applied,
>>> but window will remain 200x200 size until next move or resize. So here we resize window to fit the maximum size immediately.
>>>> XDecoratedPeer.java has some space-only changes.
>>> It is intentional.
>>>> Also it would be great to have a couple of tests)
>>> I'll add some tests later.
>>> 
>>> Thanks,
>>> 
>>> Alexander.
>>> 
>>>> With best regards. Petr.
>>>> 
>>>> 23 янв. 2014 г., в 6:55 после полудня, Alexander Zvegintsev <alexander.zvegintsev at oracle.com> написал(а):
>>>> 
>>>>> Hello AWT team,
>>>>> please review the fix
>>>>> http://cr.openjdk.java.net/~azvegint/jdk/9/6464548/webrev.00/
>>>>> for
>>>>> https://bugs.openjdk.java.net/browse/JDK-6464548 Reopen
>>>>> https://bugs.openjdk.java.net/browse/JDK-6464551 XAWT: Frame.setMaximizedBounds restricts resizing
>>>>> 
>>>>> setMinimumSize() for java.awt.Window was implemented in JDK 6. I think it is time to implement setMaximumSize at least in JDK 9 :)
>>>>> 
>>>>> -- 
>>>>> Thanks,
>>>>> 
>>>>> Alexander.
>>>>> 
> 



More information about the awt-dev mailing list