I created a simple JavaFX application that receives input from the user in a TextField. I attached the KeyTyped event from SceneBuilder to the controller. My function looks like this:
@FXML private void keyTyped(KeyEvent event) {
System.out.println(event.getCode().equals(KeyCode.ENTER));
}
This function always prints out UNDEFINED when I type the enter key. Any ideas on how to fix this? Other letters I type seem to have the same problem as well.
KeyTyped
is a special event. It doesn't have KeyCode
but has character
set instead.
See example for letter 'a':
KeyEvent [source = TextField[id=null, styleClass=text-input text-field],
target = TextField[id=null, styleClass=text-input text-field], eventType = KEY_TYPED, consumed = false,
character = a, text = , code = UNDEFINED]
and javadoc: http://docs.oracle.com/javafx/2/api/javafx/scene/input/KeyEvent.html#getCode()
The key code associated with the key in this key pressed or key released event. For key typed events, code is always KeyCode.UNDEFINED.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With