如何在fxml控制器类构造函数中传递参数?
public void start(Stage primaryStage) throws Exception{
Parent root = FXMLLoader.load(getClass().getResource("sample.fxml"));
primaryStage.setTitle("Online Poker");
primaryStage.setScene(new Scene(root, 800, 400));
primaryStage.show();
}
您不能直接将参数传递给FXMLLoader Controller构造函数,而是从FXMLLoader实例获取控制器并在控制器上调用方法以使用参数对其进行初始化。
FXMLLoader loader = new FXMLLoader(getClass().getResource("sample.fxml"));
Parent root = loader.load();
ViewController viewController = loader.<ViewController>getController();
viewController.initParameter(parameter);
如果我从start方法正确猜出,这是Application的一个实例。试试documentation:
this.getParameters();
((假设您要按照术语“构造函数”的建议访问应用程序参数)