我有一个非常简单的问题。 当我在Scene Builder中创建用户界面时,我想稍后在我的代码中引用它。 例如,我会在我的FXML中创建一个窗格,将其加载到我的场景中,然后将该场景放在我的舞台上。之后我想做一些事情,比如通过ID或任何类型的引用获取此窗格并向其添加一些元素,例如在单击按钮后,我会将图片添加到此引用窗格。此外,我会从我的控制器(在我的fxml中创建的按钮的onclick)中执行此操作,因此,我是否需要对我的场景进行某种引用或者使用某种方法来操作该窗格的内容? 。有可能吗?
答案 0 :(得分:8)
在您的控制器中,添加以下内容:
@FXML
private Pane p
先保存。
然后,通过Scene Builder,您可以在您的窗格中添加 fx:id 。只需选择窗格,然后在下拉列表中选择“p”。或者您可以直接在FXML中执行此操作:
<Pane fx:id="p" ....></Pane>
要在按下按钮等时向窗格'p'添加元素,请使用:
p.getChildren().add(...)