我正在用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时,我的程序将正常运行。
答案 0 :(得分:1)
在修饰符中尝试或者使用{'而不是使用InputEvent.CTRL_DOWN_MASK
和InputEvent.SHIFT_DOWN_MASK
代替......
KeyStroke.getKeyStroke(KeyEvent.VK_W,
InputEvent.CTRL_DOWN_MASK | InputEvent.SHIFT_DOWN_MASK)