【发布时间】:2012-12-05 01:33:24
【问题描述】:
我正在尝试创建一个不同的actionPerformed,当按下 JButton 时按住 Shift,但是当我使用:
event.isShiftDown;
我的程序无法编译,因为它无法识别它。
【问题讨论】:
-
您可能会在这里找到答案:stackoverflow.com/questions/5517674/…
我正在尝试创建一个不同的actionPerformed,当按下 JButton 时按住 Shift,但是当我使用:
event.isShiftDown;
我的程序无法编译,因为它无法识别它。
【问题讨论】:
基本上你需要按位和ActionEvent#getModifiers 结果
if ((e.getModifiers() & InputEvent.SHIFT_MASK) != 0) {
// Shift is down...
}
【讨论】:
作为直接检查事件修饰符的替代方法,请考虑为 shift 键的每个状态使用不同的 Action。您可以向key binding 中使用的KeyStroke 提供所需的掩码,如here 所述。使用getMenuShortcutKeyMask() 的相关示例显示为here。
【讨论】: