有没有办法模块化JavaFX应用程序?

cor*_*nik 5 java modularity javafx-2 fxml

我开始玩JavaFX 2了,我真的很喜欢用FXML创建UI的简易性.但是,一旦您通过基本示例并且需要具有许多窗口的UI,将整个应用程序的UI定义放在单个FXML文件中似乎是不合逻辑的.

是否可以在单独的FXML文件中编写单独的组件,然后根据需要包含它们?比如说,当用户点击主菜单中的项目时,我想要一个窗口弹出; 我可以在单独的FXML文件中编写该窗口的定义,在运行时加载它并将其添加到节点树吗?

Ser*_*nev 4

从 FXML 的角度来看,有两种方法:

  1. 只需使用fx:include指令将应用程序拆分为不同 fxml 文件中的逻辑部分。

  2. 更高级的方法是将应用程序的各个部分实现为单独的“控件”。它将有自己的(可以非常简单)API 来提供数据,并且可以像内置控件一样在 FXML 或 FX API 中使用。有关如何使用 FXML 实现该功能的详细信息,请参阅下一个问题:How to pass object create in FXML Controller1 to Controller2 of inside FXML control