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();
}
});
我正在使用 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();
}
});