当在 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
jpopupmenu menuitem actionperformed未触发
使用带有 actionPerformed 的 repaint() 方法