如何获取新阶段控制器 JavaFX 的句柄
How to get a handle of a new stage Controller JavaFX
我正在开始使用它自己的控制器的第二个场景。我想从另一个 class 访问该控制器中的一个方法。如何获得新场景控制器的句柄?
public void startNewScene() throws IOException{
Stage stage = new Stage();
Partent root;
root = FXMLLoader.load(getClass().getResource("fxmlfile.fxml");
Scene scene = new Scene(root);
Stage.setScene(scene);
stage.show();
}
创建一个 FXMLLoader
实例(而不是使用 static load(...)
方法),并从中获取控制器:
public void startNewScene() throws IOException{
Stage stage = new Stage();
FXMLLoader loader = new FXMLLoader(getClass().getResource("fxmlfile.fxml"));
Parent root = loader.load();
MyController controller = loader.getController();
Scene scene = new Scene(root);
Stage.setScene(scene);
stage.show();
}
显然将 MyController
替换为 fxmlfile.fxml
控制器的实际 class 名称。
我正在开始使用它自己的控制器的第二个场景。我想从另一个 class 访问该控制器中的一个方法。如何获得新场景控制器的句柄?
public void startNewScene() throws IOException{
Stage stage = new Stage();
Partent root;
root = FXMLLoader.load(getClass().getResource("fxmlfile.fxml");
Scene scene = new Scene(root);
Stage.setScene(scene);
stage.show();
}
创建一个 FXMLLoader
实例(而不是使用 static load(...)
方法),并从中获取控制器:
public void startNewScene() throws IOException{
Stage stage = new Stage();
FXMLLoader loader = new FXMLLoader(getClass().getResource("fxmlfile.fxml"));
Parent root = loader.load();
MyController controller = loader.getController();
Scene scene = new Scene(root);
Stage.setScene(scene);
stage.show();
}
显然将 MyController
替换为 fxmlfile.fxml
控制器的实际 class 名称。