java中jmenu项的setAccelerator

java中jmenu项的setAccelerator,java,swing,jframe,jmenu,jmenuitem,Java,Swing,Jframe,Jmenu,Jmenuitem,我正在用Swing学习java。我的菜单设置加速器有问题。 我的代码: 我希望当我按Ctrl+W时,我的JTabbedPane将关闭selectedTab,当我按Ctrl+Shift+W时,我的JTabbedPane将关闭所有忽略selectedTab。但只检测到Ctrl+W操作,尽管当我单击closeOtherItem时,我的程序将正常运行 尝试或“使用”修改器而不是“和”,并使用InputEvent.CTRL\u DOWN\u MASK和InputEvent.SHIFT\u DOWN\u M

我正在用Swing学习java。我的菜单设置加速器有问题。 我的代码:


我希望当我按Ctrl+W时,我的JTabbedPane将关闭selectedTab,当我按Ctrl+Shift+W时,我的JTabbedPane将关闭所有忽略selectedTab。但只检测到Ctrl+W操作,尽管当我单击closeOtherItem时,我的程序将正常运行

尝试或“使用”修改器而不是“和”,并使用
InputEvent.CTRL\u DOWN\u MASK
InputEvent.SHIFT\u DOWN\u MASK
代替

KeyStroke.getKeyStroke(KeyEvent.VK_W, 
                       InputEvent.CTRL_DOWN_MASK | InputEvent.SHIFT_DOWN_MASK)
KeyStroke.getKeyStroke(KeyEvent.VK_W, 
                       InputEvent.CTRL_DOWN_MASK | InputEvent.SHIFT_DOWN_MASK)