3

我试图创建一个不同的actionPerformedwhenShift按下 JButton 时按住,但是当我使用时: event.isShiftDown; 我的程序无法编译,因为它无法识别它。

4

2 回答 2

6

Basically you need to bitwise-and the ActionEvent#getModifiers result

if ((e.getModifiers() & InputEvent.SHIFT_MASK) != 0) {
    // Shift is down...
}
于 2012-12-05T01:40:43.180 回答
4

作为直接检查事件修饰符的替代方法,请考虑Action对 shift 键的每个状态使用不同的修饰符。您可以将所需的掩码提供给KeyStroke在您的键绑定中使用,如此处所述。此处getMenuShortcutKeyMask()显示了一个相关的使用示例。

于 2012-12-05T01:51:58.100 回答