当JButton按下时isShiftDown?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了当JButton按下时isShiftDown?相关的知识,希望对你有一定的参考价值。

大家好 我有一个JFrame,我已经为这个JFrame添加了一个JButton。 我还在我的JButton中添加了一个ActionListener。 现在请将此伪代码转换为Java:

public void actionPreformed(ActionEvent e){
    if (isShiftDown)
        print "Shift is Down.";
    else
        print "Shift is Up.";
}

实际上我想知道isShiftDown,而我的JButton是否按下了。

谢谢。

答案

用qzxswpoi代替

isShiftDown

(e.getModifiers() & InputEvent.SHIFT_MASK) != 0

getModifiers()返回在事件(alt,ctrl,shift ...)期间按下的所有修饰符的位掩码,您可以按位 - 并获取其中一个的状态。几乎就是它在文档中所说的内容。

编辑:从Java 9开始,建议使用(e.getModifiers() & ActionEvent.SHIFT_MASK) != 0

编辑2:在这种情况下(InputEvent.SHIFT_DOWN_MASK),应该使用ActionEvent#getModifiers() (Java SE 9 & JDK 9)而不是ActionEvent.SHIFT_MASK

以上是关于当JButton按下时isShiftDown?的主要内容,如果未能解决你的问题,请参考以下文章

使用 for 循环时向 JButton 添加操作

多个java小程序处理

按下时隐藏 iOS 按钮

当 UIAlertController 在按钮按下时被关闭时收到通知

QToolButton按下时下沉效果怎么实现

按下时如何使 UIButton 收缩为 UIActivityIndi​​cator?