JavaFXとFXMLファイルで作業しようとしていますが、メニューバーをコントローラに挿入すると何かがうまくいかず、コンパイラからNullPointerExceptionが返されます。私はボタンとテキストフィールドを試して、それは動作します。@FXML注入のヌルポインタ例外
これはmycodeです: FXMLファイル: `
<?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_mainmenuこれは誤りである
nullであることを見たデバッグした後、これは私のコントローラ
public class ControllerMain {
@FXML
public MenuBar menubar_mainmenu;
public void generateView(Stage stage) throws IOException {
Parent root = FXMLLoader.load(getClass().getResource("main_layout.fxml"));
Scene scene = new Scene(root);
stage.setTitle("Projects Manager");
menubar_mainmenu.getMenus().add(new Menu("File"));
stage.setScene(scene);
stage.show();
}
}
ご協力いただきありがとうございます。
menu_mainmenuにメニューを追加する場所をコメントアウトしましたか?エラーがまだ残っている場合は、問題ではありません。 –