- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
大家好
我有一个 JFrame,我已经向该 JFrame 添加了一个 JButton。
我还向我的 JButton 添加了一个 ActionListener。
现在请将此伪代码转换为 Java:
public void actionPreformed(ActionEvent e){
if (isShiftDown)
print "Shift is Down.";
else
print "Shift is Up.";
}
实际上我想知道是否按下 JButton 时是否按下 isShiftDown。
谢谢。
最佳答案
将 isShiftDown
替换为
(e.getModifiers() & InputEvent.SHIFT_MASK) != 0
(e.getModifiers() & ActionEvent.SHIFT_MASK) != 0
getModifiers() 返回事件期间按下的所有修饰符(alt、ctrl、shift...)的位掩码,您可以按位获取其中一个修饰符的状态。几乎与文档中所说的一样。
编辑:从 Java 9 开始,建议使用 InputEvent.SHIFT_DOWN_MASK
Edit2: 在这种情况下(ActionEvent#getModifiers() (Java SE 9 & JDK 9)),应该使用 ActionEvent.SHIFT_MASK
而不是 InputEvent.SHIFT_MASK
关于java - isShiftDown 按下 JButton 时?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5592065/
我正在开发一个小游戏,我需要使用 isShiftDown 两次,第一次当他使用 Shift+click 时,一个框变成绿色,当他第二次在同一个框上 Shift+click 时,她会改变颜色,变成红色。
所以我正在构建一个 sphinx-4 程序,它仅在您按住 Shift 按钮时才会监听。这样我就可以防止错误,并且只有当我按住 Shift 按钮时才让它听我的。当我释放 Shift 按钮时,我希望程序等
大家好 我有一个 JFrame,我已经向该 JFrame 添加了一个 JButton。 我还向我的 JButton 添加了一个 ActionListener。 现在请将此伪代码转换为 Java: pu
我是一名优秀的程序员,十分优秀!