JavaFX多个界面中的数据传递
经常遇到多个界面的数据传递问题,其实这个问题的解决方法很多,但是刚学JavaFX的可能不太熟悉,我在想这里简单介绍几种方法。
getController()
public class SourceDataController {
public TextField name;
public TextField age;
public void submit(ActionEvent event) throws IOException {
Stage stage = new Stage();
FXMLLoader loader = new FXMLLoader(getClass().getResource("/fxml/TargetData.fxml"));
Parent parent = loader.load();
TargetDataController target = loader.getController();
target.name.setText(name.getText());
target.age.setText(age.getText());
Scene scene = new Scene(parent);
stage.setScene(scene);
stage.show();
}
}
点击submit按钮之后,新建stage,获取controller设置传递值。
setUserData()
submit代码使用setUserData()设置,另一个界面使用getUserData()获取。
public void submit(ActionEvent event) throws IOException {
Stage stage = new Stage(