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

时间:2012-09-30 21:26:05

标签: java javafx-2 modularity fxml

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

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

1 个答案:

答案 0 :(得分:4)

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

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

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