Hi Prasanta,

I looked at documentation of KeyStroke.getKeyStroke and InputEvent.ALT_MASK 
should be used instead of ActionEvent.ALT_MASK. The corresponding 
InputEvent.ALT_GRAPH_MASK is already present. I used it by mistake last time.
I have made changes for JMenuItem I have changed BasicJMenuItemUI for JMenuItem 
and updated the test case too. Other changes are same as webrev.02. Please have 
a look.
Webrev: http://cr.openjdk.java.net/~pbansal/8194873/webrev.03/


Regards,
Pankaj Bansal

-----Original Message-----
From: Prasanta Sadhukhan 
Sent: Friday, April 20, 2018 5:04 PM
To: Pankaj Bansal
Cc: swing-dev@openjdk.java.net
Subject: Re: <Swing Dev> [11] JDK-8194873: right ALT key hotkeys no longer work 
in Swing components

Hi Pankaj,


On 4/20/2018 3:48 PM, Pankaj Bansal wrote:
> Hi Prasanta,
>
> In case of JMenuItem, there are two ways to add key shortcuts
>
> 1.
> JMenuItem newMenuItem = new JMenuItem("New");
>   newMenuItem.setMnemonic(KeyEvent.VK_N);
> In this case, the event is triggered if the N key is pressed. The modifiers 
> are not used in this and pressing only N will work. So ALT or ALT_GRAPH is 
> not required. These shortcut only work if the menu containing the given menu 
> item is expanded.
>
> 2.
> JMenuItem newMenuItem = new JMenuItem("New"); 
> newMenuItem.setAccelerator(KeyStroke.getKeyStroke( KeyEvent.VK_N, 
> ActionEvent.ALT_MASK)); In this case we are setting the accelerator key. In 
> this case the key N will work with the modifier passed here. So the user is 
> explicitly telling whether to use ALT, ALT_GRAPH or ALT+ALT+GRAPH. So I think 
> we don’t need to change anything here. The menu containing the menu item does 
> not have to be expanded  in this case.
But, as far I see in spec, ActionEvent does not have anyway to specify Right 
ALT mask or ALT_GRAPH_MASK so how the user can tell to use ALT_GRAPH.

Regards
Prasanta
> Please let me know what do you think about this.
>
> Regards,
> Pankaj Bansal
>
> -----Original Message-----
> From: Prasanta Sadhukhan
> Sent: Thursday, April 19, 2018 12:41 PM
> To: Pankaj Bansal; Andrej Golovnin
> Cc: Sergey Bylokhov; swing-dev@openjdk.java.net
> Subject: Re: <Swing Dev> [11] JDK-8194873: right ALT key hotkeys no 
> longer work in Swing components
>
> Hi Pankaj,
>
> looks good. but it still does not test JMenuItem as I can see. Did you check 
> if you have some menu items inside JMenu and set mnemonic, does Right Alt key 
> works?
>
> Regards
> Prasanta
> On 4/10/2018 3:15 PM, Pankaj Bansal wrote:
>> Hello Andrej,
>>
>> Thanks for the quick review. Yes, it does not sense to apply || on same 
>> value. It was a typo. Thanks for pointing it out.
>> Webrev:
>> http://cr.openjdk.java.net/~pbansal/8194873/webrev.02/
>>
>>
>> Regards,
>> Pankaj Bansal
>>
>> -----Original Message-----
>> From: Andrej Golovnin [mailto:andrej.golov...@gmail.com]
>> Sent: Tuesday, April 10, 2018 2:18 PM
>> To: Pankaj Bansal
>> Cc: Prasanta Sadhukhan; Sergey Bylokhov; swing-dev@openjdk.java.net
>> Subject: Re: <Swing Dev> [11] JDK-8194873: right ALT key hotkeys no 
>> longer work in Swing components
>>
>> Hi Pankaj,
>>
>>> Webrev:
>>>
>>> http://cr.openjdk.java.net/~pbansal/8194873/webrev.01/
>> src/java.desktop/windows/native/libawt/windows/awt_Component.cpp
>>
>> 3540         BOOL altIsDown = ((modifiers &
>> java_awt_event_InputEvent_ALT_DOWN_MASK) ||
>> 3541                             (modifiers &
>> java_awt_event_InputEvent_ALT_DOWN_MASK));
>>
>> Applying '||' on the same value does not make sense. I think the line
>> 3541 should use 'java_awt_event_InputEvent_ALT_GRAPH_DOWN_MASK':
>>
>> 3541                             (modifiers &
>> java_awt_event_InputEvent_ALT_GRAPH_DOWN_MASK));
>>
>> Best regards,
>> Andrej Golovnin

Reply via email to