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

问题描述 投票:-2回答:2

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

}
javafx
2个回答
0
投票

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

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

0
投票

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

this.getParameters();

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

© www.soinside.com 2019 - 2024. All rights reserved.