私はservarelチェックでinputformを作成しようとしています。 CapsLockがアクティブかどうかをチェックすることです... Java Swingでこの機能を構築しようとすると動作します。下のコードを参照してください...しかし、JavaFXでは全く動作しません。私はチェックする度に同じ状態になる... JavaFXでは、私のアプリケーションのように、最初の状態を尋ねて、それを保存し、さらにそれを保存し、それをさらに提示するようだ...JavaFXでCapsLock状態を取得する
JavaSwing細かい)
frame.addKeyListener(new KeyListener() {
public void keyTyped(KeyEvent e) {
if(e.getKeyCode() == KeyEvent.VK_CAPS_LOCK){
System.out.println(Toolkit.getDefaultToolkit().getLockingKeyState(KeyEvent.VK_CAPS_LOCK));
} else if(e.isShiftDown()){
System.out.println("SHIFT");
}
}
public void keyPressed(KeyEvent e) {
if(e.getKeyCode() == KeyEvent.VK_CAPS_LOCK){
System.out.println(Toolkit.getDefaultToolkit().getLockingKeyState(KeyEvent.VK_CAPS_LOCK));
} else if(e.isShiftDown()){
System.out.println("SHIFT");
}
}
public void keyReleased(KeyEvent e) {
if(e.getKeyCode() == KeyEvent.VK_CAPS_LOCK){
System.out.println(Toolkit.getDefaultToolkit().getLockingKeyState(KeyEvent.VK_CAPS_LOCK));
} else if(e.isShiftDown()){
System.out.println("SHIFT");
}
}
});
のJavaFX(常に同じ状態を提示)
scene.setOnKeyReleased(new EventHandler<javafx.scene.input.KeyEvent>() {
@Override
public void handle(javafx.scene.input.KeyEvent event) {
if(event.getCode() == KeyCode.CAPS){
System.out.println("CAPS");
System.out.println(Toolkit.getDefaultToolkit().getLockingKeyState(KeyEvent.VK_CAPS_LOCK));
}
}
});
は、誰もがなぜ知っていますか?私に何ができる?事前
[可能な重複](http://stackoverflow.com/questions/26529180/how-can-i-get-the-keyboard-caps-lock-state-in-javafx) – MadProgrammer
この質問はまた、なぜそれが含まれSwingでは動作しますが、JavaFXでは動作しません – user2734182
不可能、これに関するバグがあります。https://bugs.openjdk.java.net/browse/JDK-8090882 – TiMr