setAccelerator for java中的jmenu项

时间:2014-11-26 00:28:08

标签: java swing jframe jmenu jmenuitem

我正在用Swing学习java。我的setAccelerator菜单有问题。 我的代码:

    closeItem.setAccelerator(KeyStroke.getKeyStroke(
    KeyEvent.VK_W, ActionEvent.CTRL_MASK));
    closeOtherItem.setAccelerator(KeyStroke.getKeyStroke(
    KeyEvent.VK_W, ActionEvent.CTRL_MASK&ActionEvent.SHIFT_MASK));

我想按Ctrl + W时,我的JTabbedPane将关闭selectedTab,当按Ctrl + Shift + W时,我的JtabbedPane将关闭所有忽略selectedTab。但是只检测到操作Ctrl + W,但是当我点击closeOtherItem时,我的程序将正常运行。

1 个答案:

答案 0 :(得分:1)

在修饰符中尝试或者使用{'而不是使用InputEvent.CTRL_DOWN_MASKInputEvent.SHIFT_DOWN_MASK代替......

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