я получаю InvocationTargetException когда я пытаюсь вызвать метод из контроллера (JavaFX), код идет следующим образом:InvocationTargetException при вызове метода контроллеров - JavaFX
public void start(Stage stage) throws Exception {
URL location = getClass().getResource("startScreen.fxml");
FXMLLoader loader = new FXMLLoader();
loader.setLocation(location);
loader.setBuilderFactory(new JavaFXBuilderFactory());
//Getting hte controller
StartScreenController s = (StartScreenController)loader.getController();
//Where error occurs
s.setParent(this);
Parent root = (Parent) loader.load(location.openStream());
Scene scene = new Scene(root);
stage.setScene(scene);
stage.show();
}
Он отлично работает, когда я удалить " setParent ".
Это, похоже, сработало для других (насколько я видел, когда пытаюсь решить это сам).
Любая помощь будет оценена, спасибо.
Я получаю ошибку (s.setParent является строка 38)
Exception in Application start method
java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at com.javafx.main.Main.launchApp(Main.java:642)
at com.javafx.main.Main.main(Main.java:805)
Caused by: java.lang.RuntimeException: Exception in Application start method
at com.sun.javafx.application.LauncherImpl.launchApplication1(LauncherImpl.java:403)
at com.sun.javafx.application.LauncherImpl.access$000(LauncherImpl.java:47)
at com.sun.javafx.application.LauncherImpl$1.run(LauncherImpl.java:115)
at java.lang.Thread.run(Thread.java:722)
Caused by: java.lang.NullPointerException
at johnsoft.dndcommunication.DndCommunication.start(DndCommunication.java:38)
at com.sun.javafx.application.LauncherImpl$5.run(LauncherImpl.java:319)
at com.sun.javafx.application.PlatformImpl$5.run(PlatformImpl.java:206)
at com.sun.javafx.application.PlatformImpl$4.run(PlatformImpl.java:173)
at com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
at com.sun.glass.ui.win.WinApplication.access$100(WinApplication.java:29)
at com.sun.glass.ui.win.WinApplication$3$1.run(WinApplication.java:73)
... 1 more
Java Result: 1
кажется, что вы пытаетесь назвать Главный материал класса внутри контроллера, эта ссылка http://stackoverflow.com/questions/14059954/calling-view-method-in-controller/14063918#14063918 – invariant
Имеет InvocationTargetException является основной причиной? Если да, то какой? –
Я отправлю сообщение об ошибке, хотя он говорит в комментариях, где возникает ошибка. –