Java Tooklit在获取更新的caps lock状态时遇到问题

Java Tooklit在获取更新的caps lock状态时遇到问题,java,keyboard,Java,Keyboard,我正在使用Java的工具包包(Java.awt.toolkit和import Java.awt.event.KeyEvent)来检查caps锁状态。但是,我无法更新caps lock状态。它似乎只抓住caps lock实例一次,并保持在该位置。例如,在这段代码中: for(int i = 0; i < 10; i++) { boolean temp = Toolkit.getDefaultToolkit().getLockingKeyState(KeyEvent.VK_CAPS_L

我正在使用Java的工具包包(Java.awt.toolkit和import Java.awt.event.KeyEvent)来检查caps锁状态。但是,我无法更新caps lock状态。它似乎只抓住caps lock实例一次,并保持在该位置。例如,在这段代码中:

for(int i = 0; i < 10; i++) {
    boolean temp = Toolkit.getDefaultToolkit().getLockingKeyState(KeyEvent.VK_CAPS_LOCK);
    System.out.print(temp + " ,");
    TimeUnit.SECONDS.sleep(1);
}
然而,我的代码所做的就是,当它第一次进入for循环时,抓住我的caps lock键是什么样子,并保持这种状态,不管我是关闭还是打开它

例如,如果我在前5秒保持大写锁定,在最后5秒保持关闭,如上所述,它将输出

true, true, true, true, true, true, true, true, true, true, 
或者,如果我在前5秒关闭caps lock键,然后在最后5秒,它将输出

true, true, true, true, true, true, true, true, true, true, 
假,假,假,假,假,假,假,假,假,假,假, 有人知道如何修复此问题,以便动态更新按键状态吗


谢谢

不能单独繁殖;请确认您没有忽略异常,并且您的问题中包含一个显示您的方法。无法单独复制;请确认您没有忽略异常,并且您的问题中包含一个显示您的方法的示例。