Ich versuche, mein Projekt zu einem ausführbaren Glas, aber das Problem ist, dass die GUI nicht angezeigt wird. Von dem Fehler in meinem Cmd erzähle ich, dass es etwas über meine Bildansichten ist.Java Runnable Jar mit Imageview zeigt keine GUI
Mein Projekt enthält Bildansichten, die sich in einem anderen Ordner als dem Quellrahmen befinden. Ich habe die buildpath gesetzt, aber es scheint immer noch nicht
Dies wird zu arbeiten, wo ich die Bilder auf die GUI hinzufügen:
String path = "./imageTest/";
File folder = new File(path);
File[] listOfFiles = folder.listFiles();
for (File file : listOfFiles) { <----- Line 51
ImageView imageView;
imageView = createImageView(file);
tile.getChildren().addAll(imageView);
}
Der Ordner imageTest als source im buildpath hinzugefügt wird
Dies ist der Fehler, den ich bekommen, wenn das Glas durch cmd ausgeführt wird:
"Exception in Application start method
Exception in thread "main" java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.eclipse.jdt.internal.jarinjarloader.JarRsrcLoader.main(JarRsrcLoader.java:58)
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$155(LauncherImpl.java:182)
at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.NullPointerException
at application.guifx.MainScreen.mainScene(MainScreen.java:51)
at application.guifx.MainApp.start(MainApp.java:37)
at com.sun.javafx.application.LauncherImpl.lambda$launchApplication1$162(LauncherImpl.java:863)
at com.sun.javafx.application.PlatformImpl.lambda$runAndWait$175(PlatformImpl.java:326)
at com.sun.javafx.application.PlatformImpl.lambda$null$173(PlatformImpl.java:295)
at java.security.AccessController.doPrivileged(Native Method)
at com.sun.javafx.application.PlatformImpl.lambda$runLater$174(PlatformImpl.java:294)
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$148(WinApplication.java:191)
... 1 more"
Dies ist die MainApp
public class MainApp extends Application {
private Service service;
private Stage stage;
private ScrollPane root = new ScrollPane();
private MainScreen mainScreen;
public MainApp() {
service = Service.getService();
StorageInitializer.initStorage();
}
@Override
public void start(Stage primaryStage) throws Exception {
service = Service.getService();
stage = primaryStage;
mainScreen = new MainScreen(stage);
stage.setWidth(100);
stage.setHeight(100);
primaryStage.setWidth(1000);
primaryStage.setHeight(850);
Scene scene = mainScreen.mainScene();<----- Line 37
primaryStage.setScene(scene);
primaryStage.show();
}
public static void main(String[] args) {
launch(args);
}
}
Um klar zu sein ... Das Programm funktioniert, wenn sie durch Eclipse laucnhing, aber nicht, wenn ich es ein lauffähiges Glas machen Dies ist, wie das System aussieht, wenn es von Eclipse Link
Mögliche Duplikat enthält [Was für eine Nullpointer ist, und wie kann ich es beheben?] (Http://stackoverflow.com/questions/218384/what-is-a- nullpointerexception-and-how-do-i-fix-it) – Seelenvirtuose