Java @FXML注入中出现空指针异常
我试图使用JavaFX和FXML文件,但当我在控制器中注入菜单栏时出现了一些问题,编译器给了我一个NullPointerException。我尝试了按钮和文本字段,效果很好 这是mycode: FXML文件:`Java @FXML注入中出现空指针异常,java,intellij-idea,javafx-2,fxml,Java,Intellij Idea,Javafx 2,Fxml,我试图使用JavaFX和FXML文件,但当我在控制器中注入菜单栏时出现了一些问题,编译器给了我一个NullPointerException。我尝试了按钮和文本字段,效果很好 这是mycode: FXML文件:` <?xml version="1.0" encoding="UTF-8"?> <?import javafx.scene.control.*?> <?import java.lang.*?> <?import javafx.scene.layou
<?xml version="1.0" encoding="UTF-8"?>
<?import javafx.scene.control.*?>
<?import java.lang.*?>
<?import javafx.scene.layout.*?>
<VBox fx:controller="it.fedgiac.projectmanager.controller.ControllerMain" maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="400.0" prefWidth="600.0" xmlns="http://javafx.com/javafx/8" xmlns:fx="http://javafx.com/fxml/1">
<children>
<MenuBar fx:id="menubar_mainmenu" />
</children>
</VBox>`
调试后,我看到变量menubar\u main菜单为空
这就是错误:
提前感谢您的帮助。让您的FXML控制器实现可初始化的
。然后将提示您实现方法初始化(URL、ResourceBundle、ResourceBundle)
。在此方法中,您可以确保菜单栏\主菜单
已初始化。您可以将现有代码移动到该方法中
public void initialize(URL url, ResourceBundle resourceBundle){
menubar_mainmenu.getMenus().add(new Menu("File"));
}
使您的FXML控制器实现可初始化的
。然后将提示您实现方法初始化(URL、ResourceBundle、ResourceBundle)
。在此方法中,您可以确保菜单栏\主菜单
已初始化。您可以将现有代码移动到该方法中
public void initialize(URL url, ResourceBundle resourceBundle){
menubar_mainmenu.getMenus().add(new Menu("File"));
}
您是否尝试过在菜单的主菜单中添加菜单?如果错误仍然存在,那么这不是问题。您是否尝试过在菜单主菜单中添加菜单的位置进行注释?如果错误仍然存在,那么这不是问题。我还不明白为什么它没有初始化,但它工作,非常感谢。我还不明白为什么它没有初始化,但它工作,非常感谢。