当前位置: 首页 > 知识库问答 >
问题:

如何访问我通过javafx场景构建器创建的vbox?

袁增
2023-03-14

我从场景构建器添加了一个vbox并将其可见性设置为false。根据某些条件,我想将可见性设置为true。我该怎么做?

我也是java的新手,所以我无法解决root.getChildren()的问题,它抛出了一个编译错误,getChildren()在父级中具有受保护的访问权限。你能帮忙吗?

共有1个答案

笪烨
2023-03-14

这需要三个步骤。

    < li >在FXML文件中定义控制器Java类。无论是在SceneBuilder中还是直接在XML中。 < li >在控制器中定义字段VBox,并用< code>@FXML对其进行注释,并在XML中使用其名称,如< code>fx:id。这将告诉JavaFX使用正确的VBox实例绑定您的字段。 < li >使用VBox随心所欲

XML定义(注意fx:控制器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();
 类似资料:
  • 第一个问题:由于将集成到容器(BorderPane)中,它本身不需要容器。但是SceneBuilder只提供了将布局创建为容器的选项? 第二个问题:我可以手动创建,然后手动修改以包括。然后,我可以使用SceneBuilder毫无问题地加载borderpane.fxml文件。但是,当我现在更改标签的文本并选择“保存”时,修改的不是,而是如下所示: 新标签文本应该写入,而不是写入。 我想为我的GUI的

  • 我一直在谷歌搜索和跟随不同的教程来学习如何做各种事情,到目前为止,我的进展还不错。但现在我已经停滞不前了。 我想做的是,当我的应用程序启动和用户按下登录按钮时,将它们转发到管理员主页上。 这是login.java中的代码: 非常感谢任何帮助。 附注。当用户单击该按钮时,我不只是想打开任意场景,而是想打开一个已经应用了quizapp.fxml、quizapp.css和administratorlog

  • 我试图找到难以捉摸的JavaFX场景构建器,以便在IntelliJ中使用它。我在Windows操作系统上。 我已经安装了Java8SDK,并且运行良好。显然JavaFX现在包含在其中,但在Java文件夹的任何地方我都找不到场景构建器,它似乎在网上完全消失了。 有人能帮忙吗?我只是想写一个小的GUI程序,看来JavaFX是一个可行的方法(如果不是,那么请不要滥用我的这种想法!)

  • 问题内容: 大家好,我正在构建一个JavaFX项目并正在使用JavaFX Scene Builder2。我想将控制器链接到我的fxml文件,但是我看不到在Scene Builder 2中将控制器添加到我的fxml文件的可能性。我想知道是否有人可以帮助我。谢谢。 问题答案: 我偶然在SceneBuilder 2中找到了控制器属性。关闭左侧的层次结构菜单时,将显示“控制器”菜单,可以在其中声明我的控制

  • 请用简单的语言回答以上问题。如果可能的话,为我提供一些如何使用JavaFX的好教程。

  • 如果您查看JavaFX Scene Builder,它的2.0版本自2014-03-21 09:29开始。在甲骨文的网站上也很难找到它。维基百科上没有关于它的页面,所以我想问一下,它是不是破旧,过时了?我想把它用于桌面GUI开发。