我正在开始使用它自己的控制器的第二个场景。我想从另一个类访问该控制器中的方法。如何获得新场景控制器的句柄?
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();
}
答案 0 :(得分:2)
创建FXMLLoader
实例(而不是使用静态 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
的控制器的实际类名。