Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailemVyřešeno JavaFX - program padá

Dobrý den,
nevyčtete z tohoto někdo, kde je problém?

Exception in Application start method
java.lang.reflect.InvocationTargetException
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:497)
	at com.sun.javafx.application.LauncherImpl.launchApplicationWithArgs(LauncherImpl.java:389)
	at com.sun.javafx.application.LauncherImpl.launchApplication(LauncherImpl.java:328)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:497)
	at sun.launcher.LauncherHelper$FXHelper.main(LauncherHelper.java:767)
Caused by: java.lang.RuntimeException: Exception in Application start method
	at com.sun.javafx.application.LauncherImpl.launchApplication1(LauncherImpl.java:917)
	at com.sun.javafx.application.LauncherImpl.lambda$launchApplication$152(LauncherImpl.java:182)
	at com.sun.javafx.application.LauncherImpl$$Lambda$50/580024961.run(Unknown Source)
	at java.lang.Thread.run(Thread.java:745)
Caused by: javafx.fxml.LoadException: 
file:/G:/Projects/NetBeans/FX/Matrix/dist/Matrix.jar!/matrix/FXMLDocument.fxml

	at javafx.fxml.FXMLLoader.constructLoadException(FXMLLoader.java:2605)
	at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2583)
	at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2445)
	at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3218)
	at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3179)
	at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3152)
	at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3128)
	at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3108)
	at javafx.fxml.FXMLLoader.load(FXMLLoader.java:3101)
	at matrix.Matrix.start(Matrix.java:22)
	at com.sun.javafx.application.LauncherImpl.lambda$launchApplication1$159(LauncherImpl.java:863)
	at com.sun.javafx.application.LauncherImpl$$Lambda$53/1456904334.run(Unknown Source)
	at com.sun.javafx.application.PlatformImpl.lambda$runAndWait$172(PlatformImpl.java:326)
	at com.sun.javafx.application.PlatformImpl$$Lambda$46/1963387170.run(Unknown Source)
	at com.sun.javafx.application.PlatformImpl.lambda$null$170(PlatformImpl.java:295)
	at com.sun.javafx.application.PlatformImpl$$Lambda$48/1753953479.run(Unknown Source)
	at java.security.AccessController.doPrivileged(Native Method)
	at com.sun.javafx.application.PlatformImpl.lambda$runLater$171(PlatformImpl.java:294)
	at com.sun.javafx.application.PlatformImpl$$Lambda$47/1645995473.run(Unknown Source)
	at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:95)
	at com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
	at com.sun.glass.ui.win.WinApplication.lambda$null$145(WinApplication.java:101)
	at com.sun.glass.ui.win.WinApplication$$Lambda$36/1030870354.run(Unknown Source)
	... 1 more
Caused by: java.lang.NullPointerException
	at matrix.FXMLDocumentController.initialize(FXMLDocumentController.java:180)
	at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2552)
	... 22 more
Exception running application matrix.Matrix
G:\Projects\NetBeans\FX\Matrix\nbproject\build-impl.xml:1051: The following error occurred while executing this line:
G:\Projects\NetBeans\FX\Matrix\nbproject\build-impl.xml:805: Java returned: 1

Ještě chvíli předtím, než jsem se pustil do tohoto programu jsem měl prakticky stejný problém s předchozím programem. Spustil jsem to tedy přes Debug a najednou to šlo. Když jsem později ve Scene Builderu změnil vzhled, zase to házelo chybu, tak jsem to zase spustil přes Debug.
Připadá mi, že není problém na mé straně.

PS: Tento nelze spustit ani pomocí Debuggeru.

Předem děkuji za odpovědi. :-)

Předmět Autor Datum
Zamer se na tohle: java.lang.NullPointerException Vypada to, ze volas (odkazujes se na) nejaky obje…
Jan Fiala 25.03.2016 20:58
Jan Fiala
To jsem se také dočetl, ale použil jsem úplně stejnou část kódu z předchozího programu, který funguj…
Drexx 25.03.2016 21:10
Drexx
Poslal jsi sem kod vyjimky. To si opravdu myslis, ze z chyboveho hlaseni bez znalosti zdrojoveho kod… nový
Jan Fiala 26.03.2016 13:23
Jan Fiala
Lepím kód z netu? Celý program jsem si napsal sám až na automaticky vygenerované metody ve FXMLContr… nový
Drexx 26.03.2016 13:38
Drexx
Očividne premenná operaceComboBox obsahuje hodnotu null (to si môžeš overiť v debuggeri). Máš v FXML… nový
los 26.03.2016 15:20
los
Tak chyba byla nalezena a vyřešena. Scene Builder, ve kterém jsem vytvářel vzhled, přiřadil špatné p… poslední
Drexx 26.03.2016 18:57
Drexx
bump. nový
Drexx 26.03.2016 11:15
Drexx
Opravdu nikdo neví? :/ nový
Drexx 26.03.2016 13:07
Drexx

To jsem se také dočetl, ale použil jsem úplně stejnou část kódu z předchozího programu, který funguje.
Tady to je:

@Override
    public void initialize(URL url, ResourceBundle rb) {
        ObservableList<String> operace = FXCollections.observableArrayList("+", "-", "*");
        operaceComboBox.setItems(operace);
        operaceComboBox.getSelectionModel().selectFirst();
    }

Lepím kód z netu?
Celý program jsem si napsal sám až na automaticky vygenerované metody ve FXMLControlleru.
Chybová hláška odkazuje z toho kódu:

@Override
    public void initialize(URL url, ResourceBundle rb) {
        ObservableList<String> operace = FXCollections.observableArrayList("+", "-", "*");
        operaceComboBox.setItems(operace);
        operaceComboBox.getSelectionModel().selectFirst();
    }

na tento řádek:

operaceComboBox.setItems(operace);

Vše mám importované. NetBeans sám o sobě v kódu nic nehlásí, až při spuštění. Tak mě napadlo, že se třeba jedná o nějakou chybu, která nepřišla z mé strany, proto jsem se zeptal..

Tak chyba byla nalezena a vyřešena.
Scene Builder, ve kterém jsem vytvářel vzhled, přiřadil špatné proměnné (např. místo a11Text přiřadil jen a11. Stále mi to nějaké chyby hází, ale program funguje. :-)

Zpět do poradny Odpovědět na původní otázku Nahoru