简体   繁体   中英

isShiftDown when JButton pressed?

Hi all
I have a JFrame and I've added a JButton to that JFrame.
Also I've added an ActionListener to my JButton.
Now please convert this Pseudocode to Java :

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

Actually I want to know isShiftDown while my JButton pressed or not.

Thanks.

replace isShiftDown by

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

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

getModifiers() returns a bitmask of all modifiers pressed during an event (alt, ctrl, shift...) that you can bitwise-and to get the status of one of them. Pretty much what it says in the doc.

Edit: As of Java 9 it is recommended to use InputEvent.SHIFT_DOWN_MASK

Edit2: In this case( ActionEvent#getModifiers() (Java SE 9 & JDK 9) ), should use ActionEvent.SHIFT_MASK instead of InputEvent.SHIFT_MASK

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM