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

JavaFx如何为自定义gui构建器设置FXML加载器

胡向阳
2023-03-14
<AnchorPane xmlns="http://javafx.com/javafx/9.0.1" xmlns:fx="http://javafx.com/fxml/1" fx:controller="DataTableController">
public DataTableController() throws IOException {
        FXMLLoader.load(getClass().getResource("DataTable.fxml"));
}

Edit:按照@Fabian的建议更改了java类,我以前确实尝试过,得到了上面提到的这个错误。

共有1个答案

师野
2023-03-14

如果我没有在fxml文件中设置控制器,那么我会得到一个错误,因为我有一个按钮需要设置控制器

不是真的。只要在加载fxml之前设置FXMLLoader的控制器实例,就不会出现问题。

建议的实现方法如下:

public class DataTableController extends AnchorPane {

    public DataTableController() throws IOException {
        FXMLLoader loader = new FXMLLoader(getClass().getResource("DataTable.fxml"));

        // set this instance as root & controller
        loader.setRoot(this);
        loader.setController(this);

        loader.load();
    }

    ...

}
<fx:root xmlns="http://javafx.com/javafx/9.0.1"
         xmlns:fx="http://javafx.com/fxml/1"
         type="javafx.scene.layout.AnchorPane">
    ...
</fx:root>
 类似资料:
  • 问题内容: 我正在尝试使用自定义类加载器进行练习,并且有一些问题。有没有一种方法可以指示JVM在全球范围内使用我的自定义类加载器?例如,我写了一个在Tomcat 6下运行的小型应用程序。该servlet由容器管理,应在哪里设置类加载器?另外,Web应用程序使用了一些3rd party jars,我可以控制这些jars的类加载吗? 对于独立应用程序,以上答案是否会有所不同? 谢谢! 问题答案: 您可

  • 因此,我一直在努力研究如何构建一种方法,使用用户输入过滤大量wordpress帖子。我不太确定我是否理解如何让它发挥作用。我会简单地解释我目前所知道的,也许有人能给我指出正确的方向。 所以我知道我可以使用wp_query($args)函数来查询我的数据库,并将我想要的过滤参数传递给它,以获得我想要的结果。现在,因为它必须由用户完成,我想我可以添加一个html表单,这样做 然后我写了如下的php代码

  • 在IntelliJ中(但在Eclipse IDE中没有)执行以下操作时,我得到了FXML加载器的NullPointerException

  • 我跟随这个博客向Scene Builder 2.0添加了一个自定义JavaFX组件,并构建了自己的自定义组件。 FXML文件: 控制器类: 样式表: 现在我的问题是我不能改变场景生成器中标签的值。我们是否可以创建一个自定义字段,该字段将出现在场景生成器上,并有助于更改标签文本?