Frage von hdjks, 30

JavaFX Menu gibt nur null zurück?

Heyyy ich habe ein kleines Probelm und zwar will ich in javafx ein kleines Programm entwickeln jedoch hänge ich grade fest wegen folgender Meldung:

java.lang.NullPointerException at application.Main.start(Main.java:65) at com.sun.javafx.application.LauncherImpl.lambda$launchApplication1$162(Unknown Source) at com.sun.javafx.application.PlatformImpl.lambda$runAndWait$175(Unknown Source) at com.sun.javafx.application.PlatformImpl.lambda$null$173(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at com.sun.javafx.application.PlatformImpl.lambda$runLater$174(Unknown Source) at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(Unknown Source) at com.sun.glass.ui.win.WinApplication._runLoop(Native Method) at com.sun.glass.ui.win.WinApplication.lambda$null$148(Unknown Source) at java.lang.Thread.run(Unknown Source)

Ich habe in einer .fxml-Datei ein Menu deklariert. Wenn ich jedoch jedoch versuche über die @FXML-Annotation ein Objekt(menu_Project) in einer Klasse zu initialisieren und dessen Text setzen möchte, gibt dieses Objekt nur null zurück. Ich habe das Menu mit einer fx:id (menu_Project) versehen, und obwohl ich eigentlich alles richtig gemacht haben sollte, bleibt menu_Project null. Hier ist ein Snippet aus der Main-Klasse:

@FXML public Menu menu_Project;

@FXML public MenuItem menuItem_New_Project;

//anderer Code...

primaryStage.setTitle(Language_Strings.stage_Title); menu_Project.setText(Language_Strings.menu_Project); menuItem_New_Project.setText(Language_Strings.menuItem_New_Project);

Alle anderen Objekte die ich über @FXML initialisert habe sind auch null. Was habe ich vergessen? Danke im voraus.

Expertenantwort
von KnusperPudding, Community-Experte für Java, 15

Poste doch bitte  mal deine komplette Klasse und die FXML. am besten via pastebin oder pastie oder was es noch alles gibt.

Alle anderen Objekte die ich über @FXML initialisert habe sind auch null. Was habe ich vergessen? Danke im voraus.

Du hast in der FXML hoffentlich nicht die "id" sondern die "fx:id" verwendet?

Du hast in deiner Klasse: Initializable implementiert?

Du sprichst hoffentlich auch erst die @FXML Felder an, NACHDEM initializable ausgeführt wurde?

Kommentar von KnusperPudding ,

Sehe gerade wie du es gelöst hast. 

Du sprichst hoffentlich auch erst die @FXML Felder an, NACHDEM initializable ausgeführt wurde?

Hättest das vielleicht lesen sollen bevors nen Pfeil runter gibt.

Antwort
von guteantwortxDx, 16

Hast du bei eclipse das Projekt mal neu geladen (F5 auf den Projektordner)? Muss man oft, wenn man die fxml-Datei in scenebuilder ändett

Kommentar von hdjks ,

geht leider immer noch nicht :'(

Antwort
von hdjks, 8

Habe das Problem gelöst 😃 es lag daran, dass der Code in der
@Override
public void start(Stage primaryStage)-Methode war, das hab ich natürlich nicht angemerkt

Keine passende Antwort gefunden?

Fragen Sie die Community

Weitere Fragen mit Antworten