我已从场景构建器添加了一个vbox,并将其可见性设置为false。基于某些条件,我想将可见性设置为true。我该怎么做?
我也是java的新手,所以我无法解决root.getChildren()的问题,这会引发编译错误,getChildren()在Parent中具有受保护的访问权限。你能帮忙吗?
答案 0 :(得分:1)
这需要三个步骤。
@FXML
对其进行注释,并在XML中使用其名称fx:id
。这将告诉JavaFX将您的字段与正确的VBox实例绑定。 XML定义(通知fx:controller
和fx:id
):
<BorderPane prefHeight="600.0" prefWidth="1024.0" xmlns:fx="http://javafx.com/fxml/1" xmlns="http://javafx.com/javafx/2.2" fx:controller="foo.bar.MainController">
<center>
<VBox fx:id="content" fillWidth="true" prefHeight="200.0" prefWidth="100.0" />
...
控制器类:
public class MainController {
@FXML
private VBox content;
}
如果你想从外面调用控制器类,你将从FXMLLoader
的正确实例获得控制器实例,如下所示:
MainController controller = (MainController) loader.getController();