java 如何将文本指针从一个字段移动到另一个字段

How to move the text pointer from one field to another in java

我正在使用 javafx 来实现一个计算器...我的计算器的设计应该来自七十年代的惠普..我有两个文本字段,在每个文本字段中我插入一个数字...当我输入一个数字时在第一个文本字段中,所以我应该在我的计算器中按 ENTER 将文本指针移动到下一个文本字段以在其中放入另一个数字......我不知道如何将文本指针移动到下一个文本字段的问题当我按 ENTER ...这是我的按钮 Enter 代码:

TextField text1 = new TextField();
TextField text2 = new TextField();
Button Enter = new Button("ENTER");
Enter.setLayoutX(140);
Enter.setLayoutY(270);
Robot robot = new Robot();


    Enter.setOnAction(new EventHandler<ActionEvent>() {

        @Override
        public void handle(ActionEvent event) {


            if (event.getSource() == Enter) {
                robot.mouseMove(250,150); // (250,150) is the position of the second text field
            }
        }

    });

此代码的问题是,当我按 ENTER 键时,我的鼠标指针移动到
(250,150) 但不是我的文本指针... 如何移动文本指针而不是鼠标指针? 谢谢

编辑:

TextField text1 = new TextField();
TextField text2 = new TextField();
TextField text3 = new TextField();
Button Enter = new Button("ENTER");
Enter.setLayoutX(140);
Enter.setLayoutY(270);


    Enter.setOnAction(new EventHandler<ActionEvent>() {

        @Override
        public void handle(ActionEvent event) {


            if (event.getSource() == Enter) {
                if (!text1.requestFocus() || text2.requestFocus()) {
                text3.requestFocus();
              } 
            }
        }

    });

您可以只请求关注下一个元素。

enter.setOnAction( event -> {
    if(text1.isFocused()) {
       text2.requestFocus();
    } else if(text2.isFocused()) {
       text3.requestFocus();
    }
});

您可以在 Java 7 或更早版本中执行相同操作:

enter.setOnAction(new EventHandler<ActionEvent>() {
    @Override
    public void handle(ActionEvent event) {
        text2.requestFocus();
    }
});