如何在actionPerformed(Java Swing)上单击按钮时识别是否选择了shift?

时间:2012-12-05 01:33:25

标签: java swing jbutton shift

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

2 个答案:

答案 0 :(得分:4)

基本上你需要按位和ActionEvent#getModifiers结果

if ((e.getModifiers() & InputEvent.SHIFT_MASK) != 0) {
    // Shift is down...
}

答案 1 :(得分:4)

作为直接检查事件修饰符的替代方法,请考虑对shift键的每个状态使用不同的Action。您可以按照key binding所述,为here中使用的KeyStroke提供所需的掩码。使用getMenuShortcutKeyMask()的相关示例显示为here