gpt4 book ai didi

javafx - 一个 Controller 到 2 个 fxmls (JavaFX)

转载 作者:行者123 更新时间:2023-12-04 03:05:07 24 4
gpt4 key购买 nike

是否可以将两个 FXML (JavaFX) 文件连接到一个 Controller ?
我无法通过更改每个 FXML 文件中的“fx:controller”来做到这一点......

有任何想法吗?

最佳答案

是的,你可以这样做。虽然可以做到,但我不推荐这种方法。

不要放置 fx:controller任一 FXML 中的属性。创建一个新 Controller 并将相同的 Controller 设置为单独的 FXMLLoader 实例。

CustomerDialogController dialogController = 
new CustomerDialogController(param1, param2);

FXMLLoader summaryloader = new FXMLLoader(
getClass().getResource(
"customerSummary.fxml"
)
);
summaryLoader.setController(dialogController);
Pane summaryPane = (Pane) summaryLoader.load();

FXMLLoader detailsLoader = new FXMLLoader(
getClass().getResource(
"customerDetails.fxml"
)
);
detailsLoader.setController(detailsController);
Pane detailsPane = (Pane) detailsLoader.load();

SplitPane splitPane = new SplitPane(
summaryPane,
detailsPane
);

I want to create one controller, because I have problem with sending data beetwen controlers



IMO 仅使用共享 Controller 来共享数据并不是对此的首选解决方案。

相反,要么在多个 Controller 之间共享数据,有关示例,请参见:
  • Passing Parameters JavaFX FXML

  • 这里还有一个例子:
  • JavaFX8 list bindings similar to xaml
  • 关于javafx - 一个 Controller 到 2 个 fxmls (JavaFX),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30464857/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com