Hallo Leute,
habe einmal eine kleine Frage an euch. Habe nun fast eine Stunde "verschwendet" mit Google und stackoverflow.
Ich habe ein kleines Projekt und wollte aus Gründen der Übersicht die views.fxml & *.css in einem eigenen Paket ablegen.. Wenn ich aber nun ein neues Paket erstelle und alles anpasse erhalte ich folgende Exception:
FXMl liegt in:
/ch/next405/source/view/MainView.fxml
Der Rest:
/ch/next405/source/main/Main.java
/ch/next405/source/main/MainController.java
Was mache ich falsch?
"view/MainView.fxml"
"\\view\\MainView.fxml"
Funktioniert auch nicht. Es funktioniert nur, wenn alle Dateien im gleichen Ordner sind.
habe einmal eine kleine Frage an euch. Habe nun fast eine Stunde "verschwendet" mit Google und stackoverflow.
Ich habe ein kleines Projekt und wollte aus Gründen der Übersicht die views.fxml & *.css in einem eigenen Paket ablegen.. Wenn ich aber nun ein neues Paket erstelle und alles anpasse erhalte ich folgende Exception:
Java:
java.lang.NullPointerException: Location is required.
at javafx.fxml.FXMLLoader.loadImpl(Unknown Source)
at javafx.fxml.FXMLLoader.loadImpl(Unknown Source)
at javafx.fxml.FXMLLoader.loadImpl(Unknown Source)
at javafx.fxml.FXMLLoader.loadImpl(Unknown Source)
at javafx.fxml.FXMLLoader.loadImpl(Unknown Source)
at javafx.fxml.FXMLLoader.load(Unknown Source)
at ch.next405.source.main.Main.start(Main.java:14)
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)
HTML:
<BorderPane 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" fx:controller="ch.next405.source.main.MainController">
Java:
public class Main extends Application {
@Override
public void start(Stage primaryStage) {
try {
BorderPane root = (BorderPane) FXMLLoader.load(getClass().getResource("/view/MainView.fxml"));
Scene scene = new Scene(root,400,400);
scene.getStylesheets().add(getClass().getResource("/view/application.css").toExternalForm());
primaryStage.setScene(scene);
primaryStage.setMinHeight(500);
primaryStage.setMinWidth(615);
primaryStage.show();
} catch(Exception e) {
e.printStackTrace();
}
}
/ch/next405/source/view/MainView.fxml
Der Rest:
/ch/next405/source/main/Main.java
/ch/next405/source/main/MainController.java
Was mache ich falsch?
"view/MainView.fxml"
"\\view\\MainView.fxml"
Funktioniert auch nicht. Es funktioniert nur, wenn alle Dateien im gleichen Ordner sind.