<Swing Dev> Review request for JDK-6288609 JInternalFrame.setDefaultCloseOperation() interferes with "close" behavior
Rajeev Chamyal
rajeev.chamyal at oracle.com
Thu Nov 12 09:05:00 UTC 2015
Hello Alexander,
At all other places we call firePropertyChange(IS_CLOSED_PROPERTY, Boolean.FALSE,Boolean.TRUE); before calling dispose. Which will result in unselecting and closing the frame.
If API user is extending the InternalFrameUI classes then they have to care of selection/deselection themselves.
I have tested the fix with all look and feels on Windows and Ubuntu and on MAC with Aqua LAF as well.
Regards,
Rajeev Chamyal
-----Original Message-----
From: Alexander Scherbatiy
Sent: 06 November 2015 19:41
To: Rajeev Chamyal
Cc: Sergey Bylokhov; swing-dev at openjdk.java.net
Subject: Re: Review request for JDK-6288609 JInternalFrame.setDefaultCloseOperation() interferes with "close" behavior
On 10/29/2015 10:41 AM, Rajeev Chamyal wrote:
>
> Hello All,
>
> Please review the following fix for Jdk9:
>
> *Bug*:https://bugs.openjdk.java.net/browse/JDK-6288609
>
> *Webrev*:http://cr.openjdk.java.net/~rchamyal/6288609/webrev.00/
> <http://cr.openjdk.java.net/%7Erchamyal/6288609/webrev.00/>
>
> *Issue*: On disposing the Top level JInternalFrame focus is not
> shifting to the JInternalFrame below it.
>
> *Cause*: Dispose method is changing the selection of currently closing
> frame and then it calls the DefaultDeskTopManager:closeFrame which
>
> finds the JInternalFrame below the closing frame based on selection of
> the closing frame and then shifts the focus to frame below it.
>
> Since selection is already changed by dispose method
> DefaultDeskTopManager:closeFrame is unable to find reference to
> previous frame.
>
> *Fix*: Removed the selection change code from Dispose method.
Are there any cases that the JInternalFrame is still selected after the IS_CLOSED_PROPERTY is fired in the dispose() method so it is still necessary to set the selection to false?
Thanks,
Alexandr.
>
> Regards,
> Rajeev Chamyal
More information about the swing-dev
mailing list