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

Posted

技术标签:

【中文标题】当在 actionPerformed (Java Swing) 上单击按钮时,如何识别是不是选择了 shift?【英文标题】: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; 我的程序无法编译,因为它无法识别它。

【问题讨论】:

您可能会在这里找到答案:***.com/questions/5517674/… 【参考方案1】:

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

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

【讨论】:

【参考方案2】:

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

【讨论】:

以上是关于当在 actionPerformed (Java Swing) 上单击按钮时,如何识别是不是选择了 shift?的主要内容,如果未能解决你的问题,请参考以下文章

在Jtable单元格中单击JComboBox时调用ActionPerformed

在java里actionPerformed是做什么用的

jpopupmenu menuitem actionperformed未触发

使用带有 actionPerformed 的 repaint() 方法

15.2-全栈Java笔记:ActionEvent事件类型可以实现哪些功能?

带有 actionperformed actionlistner 的文本字段 [关闭]