如何检查在Java中启动时按住的键

2022-01-13 00:00:00 keyboard key java swing awt

我正在尝试编写一个在程序首次启动时弹出的分辨率选择对话框.为了避免让用户感到无聊,我想实现一个相当标准的功能,您可以使用复选框关闭该对话框,但在启动时按住 alt 键将其恢复.

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 that you can turn off that dialog with a checkbox, but get it back by holding down the alt key at startup.

不幸的是,没有明显的方法可以询问 java 给定的键是否当前被按下.您只能通过 KeyListener 注册以了解新的按键操作,但如果按键在应用启动之前启动,这将无济于事.

Unfortunately, there is no obvious way to ask java whether a given key is currently being pressed. You can only register to be informed of new key presses via a KeyListener, but that doesn't help if the keypress starts before the app launches.

推荐答案

public class LockingKeyDemo {
    static Toolkit kit = Toolkit.getDefaultToolkit();

    public static void main(String[] args) {
        System.out.println("caps lock2 = "
                + kit.getLockingKeyState(KeyEvent.VK_CAPS_LOCK));
}
}

相关文章