I have my JavaFX 8 Scene going nicely. Now, while everything else is happening, I would like to continuously check for any KeyEvent/KeyCode while the program is running. I have a Timeline called timeline set to INDEFINITE and I've set my cycle count to indefinite with
timeline.setCycleCount(Timeline.INDEFINITE);
I'm looking for an easy method that is also clean and won't make my program choppy.
You can use a KeyEvent listener to listen to when key is pressed, release, typed or any of them. It doesn't matter what you have running on other threads, whether that's some infinite loop, or anything else; if the user presses a button, the listener will be called.
You just need to add a listener to the scene and the key event which you want to listen to.
scene.addEventHandler(KeyEvent.KEY_PRESSED, (key) -> {
if(key.getCode()==KeyCode.ENTER) {
System.out.println("You pressed enter");
}
});