如何在Javafx中将参数传递给fxml控制器类的构造函数?

时间:2019-01-17 05:15:05

标签: javafx

如何在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();

}

2 个答案:

答案 0 :(得分:0)

如果我从start方法正确猜到,这是Aplication的一个实例。尝试documentation

this.getParameters();

(这是假设您要按照术语“构造函数”的建议访问应用程序参数)

答案 1 :(得分:0)

您不能直接将参数传递给FXMLLoader Controller构造函数,而是从FXMLLoader实例获取控制器并在控制器上调用方法以使用参数对其进行初始化。

FXMLLoader loader = new FXMLLoader(getClass().getResource("sample.fxml"));
Parent root = loader.load();
ViewController viewController = loader.<ViewController>getController();
viewController.initParameter(parameter);