JavaFX KeyEvent returns KeyCode.UNDEFINED

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.

1 Answer

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: ()

The key code associated with the key in this key pressed or key released event. For key typed events, code is always KeyCode.UNDEFINED.

Your Answer

Sign up or log in

Sign up using Google Sign up using Facebook Sign up using Email and Password

Post as a guest

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

You Might Also Like