<AWT Dev> <AWT dev>[12] Review request for JDK-8209123: [Macosx] Maximized frame is resizable on Mac but not on Windows and Ubuntu
Manajit Halder
manajit.halder at oracle.com
Fri Nov 23 09:06:45 UTC 2018
Hi Prasanta,
I have updated the issue with MAXIMIZED_BOTH (frame state set to MAXIMIZED_BOTH using setExtendedState). About the anomalies found by you, I have updated inline and also I think there is no need to create a separate issue as the behaviours are system defined in Mac and as expected.
Regards,
Manajit
> On 23-Nov-2018, at 11:24 AM, Prasanta Sadhukhan <prasanta.sadhukhan at oracle.com> wrote:
>
> I see. Can you tell me if you saw this problem in any of the existing app,demo as I do not see anything in SwingSet2 that is getting solved by this fix?
>
> Then, I guess we need to create new bug for this dissimilar behaviour in SwingSet2 in windows and mac (I was hoping this fix will solve this anomalies between windows/mac as is mentioned in bug subject) [maybe you should mention MAXIMIZED_BOTH state in the subject too]
> 1. Windows10, I see when I create a new Internal Frame with resizable and maximizable set, it is allowing me to resize the window . In mac, it is not
>
>
In Mac also you can resize the window by dragging the right bottom corner of the window.
> 2. Windows10, the internalframe can be maximized by double clicking on title bar. In mac, it is not..
>
In Mac the behaviour of “double click on title bar” is system defined and can be set by setting “System preference -> Dock -> Double-click a window’s title bar to”.
> I see you have added some double click event handling. I guess that code is not helping to solve this issue.
>
Code is added to keep double click behaviour intact, otherwise the window won’t resize on double click.
> 3. In JFileChooser Demo, the dialog is not maximizable in windows10. In mac, it is maximizable and it is allowing me to resize even though it is maximised.
>
In Mac a maximized window can be resized but fullscreen window can’t be resized.
> Regards
> Prasanta
> On 22-Nov-18 6:05 PM, Manajit Halder wrote:
>> Hi Prasanta,
>>
>> Please find my answer inline to your comments:
>>
>> Regards,
>> Manajit
>>
>>> On 22-Nov-2018, at 12:03 PM, Prasanta Sadhukhan <prasanta.sadhukhan at oracle.com <mailto:prasanta.sadhukhan at oracle.com>> wrote:
>>>
>>> Hi Manajit,
>>> I see in SwingSet2's InternalFrames Demo, when we create a new Frame with resizable and maximizable set and I maximize the window, then I am not able to resize the frame even without your fix. I thought it will allow me to resize without your fix, which is the bug you are trying to fix, right?
>>
>> The problem is about resizing Frame with state MAXIMIZED_BOTH and this state is set using setExtendedState. If I am not wrong MAXIMIZED_BOTH is not used InternalFrameDemo.java. Without my fix a Frame with setExtendedState set to MAXIMIZED_BOTH will resize if Frame is resizable on Mac.
>>
>>
>>> Also, in Windows10, I see when I create a new Frame with resizable and maximizable set, it is allowing me to resize the window
>>> but in mac, it is now allowing me to resize with/without your fix.
>>
>> Was the Frame extendedState set to MAXIMIZED_BOTH in this case? The attached test case with the fix doesn’t allow the Frame to resize on Window and Ubuntu.
>>>
>>> Regards
>>> Prasanta
>>> On 13-Nov-18 2:07 PM, Manajit Halder wrote:
>>>> Hi All,
>>>> Gentle remainder. Please review this fix.
>>>>
>>>> Regards,
>>>> Manajit
>>>>
>>>> On 08/10/18 10:27 AM, Krishna Addepalli wrote:
>>>>> Looks fine.
>>>>>
>>>>> Krishna
>>>>>
>>>>> From: Manajit Halder
>>>>> Sent: Thursday, October 4, 2018 6:01 PM
>>>>> To: Krishna Addepalli <krishna.addepalli at oracle.com> <mailto:krishna.addepalli at oracle.com>; awt-dev at openjdk.java.net <mailto:awt-dev at openjdk.java.net>
>>>>> Subject: Re: <AWT Dev> <AWT dev>[12] Review request for JDK-8209123: [Macosx] Maximized frame is resizable on Mac but not on Windows and Ubuntu
>>>>>
>>>>> Hi Krishna,
>>>>>
>>>>> Thanks for your review comments. Answers are updated inline to your queries.
>>>>>
>>>>> Please review the modified webrev:
>>>>> http://cr.openjdk.java.net/~mhalder/8209123/webrev.01/ <http://cr.openjdk.java.net/%7Emhalder/8209123/webrev.01/>
>>>>> Thanks,
>>>>> Manajit
>>>>>
>>>>>
>>>>>
>>>>> On 04/10/18 8:13 AM, Krishna Addepalli wrote:
>>>>> Hi Manajit,
>>>>>
>>>>> I have some questions which need to be answered:
>>>>> 1. You have same piece of code repeated in “setWindowState” and in “setVisible” functions, which tests if the frame is resizable flag is changed and sets the state to false. Is it not true that setWindowState will be called before setVisible, and if so, then why do you need to check twice?
>>>>> The code has to be repeated at places where window state is changing. Both the methods setWindowState and setVisible calls methods maximize() and unmaximize() where window state is changing to a new state.
>>>>>
>>>>> 2. In the deliverDoubleClickOnTitleBar() function, you may want to include a note which describes why you are temporarily enabling the resizable flag, and posting a native event, and then enabling the flag.
>>>>> Added comment.
>>>>>
>>>>> 3. At line 825, you could initialize windowResizable like this: “resizable && !isMaximizedBoth()”.
>>>>> Changed code as per the comment.
>>>>>
>>>>>
>>>>> Thanks,
>>>>> Krishna
>>>>>
>>>>>
>>>>> From: Manajit Halder
>>>>> Sent: Tuesday, September 25, 2018 3:23 PM
>>>>> To: Krishna Addepalli <krishna.addepalli at oracle.com <mailto:krishna.addepalli at oracle.com>>
>>>>> Subject: Re: <AWT Dev> <AWT dev>[12] Review request for JDK-8209123: [Macosx] Maximized frame is resizable on Mac but not on Windows and Ubuntu
>>>>>
>>>>> Hi Krishna,
>>>>>
>>>>> Could you please review my fix.
>>>>>
>>>>> Regards,
>>>>> Manajit
>>>>>
>>>>>
>>>>> On 21/09/18 5:07 PM, Manajit Halder wrote:
>>>>> Hi All,
>>>>>
>>>>> Please review the fix for JDK12.
>>>>>
>>>>>
>>>>>
>>>>> Bug:
>>>>> https://bugs.openjdk.java.net/browse/JDK-8209123 <https://bugs.openjdk.java.net/browse/JDK-8209123>
>>>>>
>>>>> Webrev:
>>>>>
>>>>> http://cr.openjdk.java.net/~mhalder/8209123/webrev.00/ <http://cr.openjdk.java.net/%7Emhalder/8209123/webrev.00/>
>>>>> Fix:
>>>>>
>>>>> Resizibility of Frame with state MAXIMIZED_BOTH is set to false when Frame is resized and when Frame state is set. Resizibility of Frame in other states (NORMAL and ICONIFIED) is changed if the previous state of the frame was MAXIMIZED_BOTH otherwise it is not changed.
>>>>>
>>>>> Changes in method setResizable()
>>>>> 1) if setResizable passed true, then check if frame is in MAXIMIZED_BOTH state, if so then set setResizable to false, otherwise set to true.
>>>>> 2) if setResizable passed false, then set false without checking the frame MAXIMIZED_BOTH state.
>>>>>
>>>>> Changes done in method setVisible and setWindowState where Frame state is set:
>>>>> 1) Before setting any state check if resizibility was changed to MAXIMIZED_BOTH earlier, if so then set resizibility to false.
>>>>> 2) When Frame state is set to MAXIMIZED_BOTH then set resizibility to false.
>>>>>
>>>>> JCK and Jtreg (open and close) tests executed with the change:
>>>>> 1) All automated AWT and Swing tests.
>>>>> 2) All manual AWT and Swing tests related to Frame, Window, JFrame and JWindow.
>>>>>
>>>>>
>>>>> Regards,
>>>>>
>>>>> Manajit
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>
>>>
>>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.openjdk.java.net/pipermail/awt-dev/attachments/20181123/201712af/attachment-0001.html>
More information about the awt-dev
mailing list