我已经启动了一个新的 JavaFX 2 项目,并使用 SceneBuilder 构建了主舞台。如何设计一个新的、单独的 Pane (即具有自己的 Controller 类的新 FXML 文件)并将其添加到主场景?
最佳答案
静态包含
fx:include
可以放置在父 FXML 文件中,以静态包含子 FXML 及其自己的 Controller 。
例如(来自 Oracle FXML Introduction ),给出以下标记:
<?import javafx.scene.control.*?>
<?import javafx.scene.layout.*?>
<VBox xmlns:fx="http://javafx.com/fxml">
<children>
<fx:include source="my_button.fxml"/>
</children>
</VBox>
如果 my_button.fxml 包含以下内容:
<?import javafx.scene.control.*?>
<Button text="My Button"/>
生成的场景图将包含一个 VBox 作为根对象,并包含一个 Button 作为子节点。
动态加载
Loading new fxml in the same scene描述如何将新的 FXML 文件动态加载到可替换的子 Pane 中。
关于Java SceneBuilder设计单面板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18883786/