我从场景构建器中添加了一个 vbox,并将其可见性设置为 false。基于某些条件,我想将可见性设置为 true。我该怎么做?
我也是java新手,所以我无法解决root.getChildren()引发编译错误的问题,getChildren()在Parent中具有受保护的访问权限。能否请你帮忙?
它需要三个步骤。
@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();