How to check for key being held down on startup in Java

后端 未结 6 557
时光说笑
时光说笑 2020-12-11 04:11

I\'m trying to write a resolution selection dialog that pops up when a program first starts up. To prevent boring the user, I want to implement the fairly standard feature t

6条回答
  •  情书的邮戳
    2020-12-11 04:28

    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.JFrame;
    
    public class LockingKeyDemo {
        static Toolkit kit = Toolkit.getDefaultToolkit();
    
        public static void main(String[] args) {
            JFrame frame = new JFrame();
    
            frame.addWindowListener(new WindowAdapter() {
                public void windowActivated(WindowEvent e) {
                    System.out.println("caps lock1 = "
                            + kit.getLockingKeyState(KeyEvent.VK_CAPS_LOCK));
    
                    try {
                        Robot robot = new Robot();
                        robot.keyPress(KeyEvent.VK_CONTROL);
                        robot.keyRelease(KeyEvent.VK_CONTROL);
                    } catch (Exception e2) {
                        System.out.println(e2);
                    }
    
                    System.out.println("caps lock2 = "
                            + kit.getLockingKeyState(KeyEvent.VK_CAPS_LOCK));
                }
            });
    
            frame.addKeyListener(new KeyAdapter() {
                public void keyReleased(KeyEvent e) {
                    System.out.println("caps lock3 = "
                            + kit.getLockingKeyState(KeyEvent.VK_CAPS_LOCK));
                }
            });
    
            frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            frame.setSize(200, 200);
            frame.setLocationRelativeTo(null);
            frame.setVisible(true);
        }
    }
    

提交回复
热议问题