【问题标题】:How to recognise if shift is selected when a button is clicked on an actionPerformed (Java Swing)?当在 actionPerformed (Java Swing) 上单击按钮时,如何识别是否选择了 shift?
【发布时间】:2012-12-05 01:33:24
【问题描述】:

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

【问题讨论】:

标签: java swing jbutton shift


【解决方案1】:

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

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

【讨论】:

    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 2015-12-05
      • 2014-04-09
      • 2017-03-29
      • 2014-04-13
      • 2012-07-23
      • 2021-10-21
      • 1970-01-01
      • 1970-01-01
      • 2011-01-25
      相关资源
      最近更新 更多