我正在开发一个应用程序,我应该从用户决定文本字段数量后在javaFX控制器中动态创建的文本字段中检索数据 . 因为在第一个视图中我只有一个文本字段,我确实很容易检索它没有问题,但我不知道如何从控制器动态创建文本字段时如何做到这一点 .
我试图使用textfield.getText();但它不起作用 .
这是我的代码:
public void handleButtonActionNext(ActionEvent event) throws IOException{
String t = textField.getText();
IntegerStringConverter a = new IntegerStringConverter();
this.i = a.fromString(t);
Node node = (Node) event.getSource();
Stage stage = (Stage) node.getScene().getWindow();
Scene scene = stage.getScene();
FXMLLoader fxmlLoader = new FXMLLoader(getClass().getResource("ProcessusTimeExec.fxml"));
Parent root = (Parent) fxmlLoader.load();
scene.setRoot(root);
gridPane = (GridPane) FXMLLoader.load(getClass().getResource("ProcessusTimeExec.fxml"));
Scene secondScene = new Scene(gridPane);
gridPane.setPadding(new Insets(10, 10, 10, 10));
this.listTextField = new ArrayList<>();
for(int n=1; n<=i;n++){
this.label = new Label("execution Time "+n);
GridPane.setConstraints(label, 0, n+2);
GridPane.setConstraints(textField, 1, n+2);
gridPane.getChildren().add(textField);
gridPane.getChildren().add(label);
}
stage.setScene(secondScene);
}
在这个Handlevent中,在同一个控制器中,我正在尝试检索数据,以便将其发送到我项目的逻辑部分 .
public void handleButtonActionAlgo(ActionEvent event) throws IOException{
Node node = (Node) event.getSource();
Stage stage = (Stage) node.getScene().getWindow();
Scene scene = stage.getScene();
FXMLLoader fxmlLoader = new FXMLLoader(getClass().getResource("Algo.fxml"));
Parent root = (Parent) fxmlLoader.load();
scene.setRoot(root);
// retrieve the data from the textFields
}
采取这些操作的按钮位于FXML文件中 .
1 回答
就像是 :
您可以使用
.getText()
打印它们进行测试