Я думаю, вам нужно скомпилировать более полный пример. Например, может быть, просто f xml и где это идет не так. Вот пример, который работает, и он использует большинство ингредиентов, которые вы есть.
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.layout.BorderPane;
import javafx.scene.control.TextField;
import javafx.stage.Stage;
import javafx.scene.input.KeyEvent;
public class TextFields extends Application{
public static void main(String[] args){
launch(args);
}
@Override
public void start(Stage primaryStage) throws Exception {
primaryStage.setTitle("text field");
TextField a = new TextField();
TextField b = new TextField();
a.setOnKeyPressed( evt ->{
System.out.println(KeyCode.ENTER + ", " + evt.getCode());
if(evt.getCode().equals(KeyCode.ENTER)){
System.out.println("entered");
b.requestFocus();
}
});
BorderPane root = new BorderPane();
root.setLeft(a);
root.setRight(b);
primaryStage.setScene(new Scene(root, 300, 100));
primaryStage.show();
}
}
Этот код создает фрейм с 2 текстовыми полями, если вы нажмете ввод в левом, вы перейдете к правильный.