<Swing Dev> [10] RFR JDK-8173739: JPopupMenu does not disappear on KeyEvent
Prasanta Sadhukhan
prasanta.sadhukhan at oracle.com
Wed Jul 12 06:42:22 UTC 2017
Any further comments on this? Can it be committed now?
Regards
Prasanta
On 7/4/2017 12:35 PM, Prasanta Sadhukhan wrote:
> OK. Updated webrev to post ungrab from a method when internal frame is
> deselected.
>
> There is no grab event. When popup menu is visible, it grab window in
> BasicPopupMenuUI
> public void stateChanged(ChangeEvent e) {
> MenuSelectionManager msm =
> MenuSelectionManager.defaultManager();
> MenuElement[] p = msm.getSelectedPath();
>
> if (lastPathSelected.length == 0 && p.length != 0) {
> grabWindow(p);
> }
>
> http://cr.openjdk.java.net/~psadhukhan/8173739/webrev.01/
>
> Regards
> Prasanta
> On 7/4/2017 12:01 AM, Sergey Bylokhov wrote:
>> There are a few questions which should be clarified, because from the
>> first look we should updated some other method.
>>
>> - The updated method is protected and have no any information in
>> the specification that it can post ungrab event.
>> - If there are a few listeners then the code will post a few ungrab
>> events. It is also interesting when the grab event is posted?
>>
>> ----- prasanta.sadhukhan at oracle.com wrote:
>>
>>> Hi All,
>>>
>>> Please review a fix for an issue where it is seen that if a popup menu
>>>
>>> is shown in an internal frame and
>>> another internal frame is shown on top of 1st frame, then even though
>>>
>>> 1st internal frame gets hidden, the popup is still visible.
>>>
>>> Issue was popup menu was not getting cancelled when the 1st internal
>>> frame gets hidden/deactivated.
>>> Poprosed fix is to send an UngrabEventwhen the 1st internal frame gets
>>>
>>> deactivated
>>> so that BasicPopupMenuUI can catch the UngrabEvent and cancel the
>>> popupmenu .
>>>
>>> Bug: https://bugs.openjdk.java.net/browse/JDK-8173739
>>> webrev: http://cr.openjdk.java.net/~psadhukhan/8173739/webrev.00/
>>>
>>> Regards
>>> Prasanta
>
More information about the swing-dev
mailing list