<Swing Dev> [10] RFR JDK-8173739: JPopupMenu does not disappear on KeyEvent

Prasanta Sadhukhan prasanta.sadhukhan at oracle.com
Thu Jul 20 09:33:16 UTC 2017


Any further comments on this?

Regards
Prasanta

On 7/12/2017 1:19 PM, Sergey Bylokhov wrote:
> I'll take a look tomorrow just to refresh the memory on how this part of code works.
>
> ----- prasanta.sadhukhan at oracle.com wrote:
>
>> 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