JavaFX 选项卡和控制器作用域
JavaFX Tabs and Controller Scope
我的 JavaFX 8 应用程序中有一个配置窗格,它分布在选项卡中的多个选项卡中。目前我被迫拆分选项卡以进行更长的配置过程。
我知道这两个选项卡有两个 .fxml 文件,但我应该能够为两者使用相同的控制器。但是,目前,如果我对一个选项卡进行更改,则另一个选项卡看不到更改。我猜它会创建一个单独的控制器实例。两个 .fxml 选项卡是否可以使用相同的控制器实例,以便可以在两个选项卡之间共享信息?
更多说明的示例:
Tab1 包含电子邮件、名字等的文本字段输入。
Tab2 使用电子邮件信息并生成用户名,并允许用户使用生成的值修改其他设置。
要在多个 FXML 加载之间重用控制器,您可以使用 fxmlLoader.setController() or fxmlLoader.setControllerFactory()。
我真的不推荐重用控制器方法,所以我不会在这里 post 详细介绍它的代码。相反,我推荐 passing parameters.
我的 JavaFX 8 应用程序中有一个配置窗格,它分布在选项卡中的多个选项卡中。目前我被迫拆分选项卡以进行更长的配置过程。
我知道这两个选项卡有两个 .fxml 文件,但我应该能够为两者使用相同的控制器。但是,目前,如果我对一个选项卡进行更改,则另一个选项卡看不到更改。我猜它会创建一个单独的控制器实例。两个 .fxml 选项卡是否可以使用相同的控制器实例,以便可以在两个选项卡之间共享信息?
更多说明的示例: Tab1 包含电子邮件、名字等的文本字段输入。 Tab2 使用电子邮件信息并生成用户名,并允许用户使用生成的值修改其他设置。
要在多个 FXML 加载之间重用控制器,您可以使用 fxmlLoader.setController() or fxmlLoader.setControllerFactory()。
我真的不推荐重用控制器方法,所以我不会在这里 post 详细介绍它的代码。相反,我推荐 passing parameters.