scene.setOnKeyPressed(new EventHandler<KeyEvent>() {
@Override
public void handle(KeyEvent ke) {
if (ke.getCode() == KeyCode.SPACE) {
System.out.println("space pressed");
}
}
});
scene.setOnKeyReleased(new EventHandler<KeyEvent>() {
@Override
public void handle(KeyEvent ke) {
if (ke.getCode() == KeyCode.SPACE) {
System.out.println("space released");
}
}
});
scene.setOnKeyTyped(new EventHandler<KeyEvent>() {
@Override
public void handle(KeyEvent ke) {
if (ke.getCode() != KeyCode.SPACE) {
System.out.println("typed");
}
}
});
JavaFX KeyTypedEvent conflit with KeyPressed and KeyReleasedEvent.
Why I press SPACE key, also print "Typed", It's strange.
Thanks!
To quote the Java Documentation:
Basically said, "Key typed" events are input events while "Key pressed" and "Key released" events are keyboard events.