Hallo zusammen,
ich möchte gerne für mein Center ein Background Picture zu meiner AnchorPane hinzufügen. Dazu habe ich folgenden Code gefunden:
Kurze Erklärung meines Codes:
Zunächst habe ich eine AnchorPane erstellt, die zum Schluss zurückgebe (Die wird hinterher in eine BorderPane eingebunden.). Das Label habe ich zu Testzwecken eingebunden. Ebenfalls zu Testzwecken habe ich den InputStream eingebaut, um zu schauen, ob das Image überhaupt gefunden wird (Dies klappt ohne Probleme).
Da ich ein Image einbinden möchte, habe ich hier ein Screen von Ordnerstruktur meines Projekts:
Mein Problem:
Der Complier wirft mir bei "Image img = new Image("./pic/blue.png");" (Zeile 40) folgende Exception:
Kann mir einer einen Tipp geben, wie ich das Problem lösen kann?
Viele Grüße und Glückauf aus dem Pott
Naxon89
ich möchte gerne für mein Center ein Background Picture zu meiner AnchorPane hinzufügen. Dazu habe ich folgenden Code gefunden:
Code:
@Override
public Pane getPane() {
AnchorPane ap = new AnchorPane();
Label l = new Label();
try{
InputStream is = new FileInputStream("./pic/blue.jpg");
InputStreamReader ir = new InputStreamReader(is);
}catch(IOException ioe){
System.out.println("Es ist folgender Fehler aufgetreten: " + ioe.getMessage());
}
try {
Image img = new Image("./pic/blue.png");
BackgroundSize backgroundSize = new BackgroundSize(100, 100, true, true, true, false);
BackgroundImage backgroundImage = new BackgroundImage(img, BackgroundRepeat.REPEAT, BackgroundRepeat.NO_REPEAT, BackgroundPosition.CENTER, backgroundSize);
Background background = new Background(backgroundImage);
ap.setBackground(background);
} catch (Exception e) {
System.out.println("Nope");
}
l.setText("Center");
ap.getChildren().add(l);
return ap;
}
Kurze Erklärung meines Codes:
Zunächst habe ich eine AnchorPane erstellt, die zum Schluss zurückgebe (Die wird hinterher in eine BorderPane eingebunden.). Das Label habe ich zu Testzwecken eingebunden. Ebenfalls zu Testzwecken habe ich den InputStream eingebaut, um zu schauen, ob das Image überhaupt gefunden wird (Dies klappt ohne Probleme).
Da ich ein Image einbinden möchte, habe ich hier ein Screen von Ordnerstruktur meines Projekts:
Mein Problem:
Der Complier wirft mir bei "Image img = new Image("./pic/blue.png");" (Zeile 40) folgende Exception:
Code:
Exception in Application start method
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 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(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at sun.launcher.LauncherHelper$FXHelper.main(Unknown Source)
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.IllegalArgumentException: Invalid URL: Invalid URL or resource not found
at javafx.scene.image.Image.validateUrl(Image.java:1118)
at javafx.scene.image.Image.<init>(Image.java:620)
at GUI.Center.getPane(Center.java:40)
at GUI.MainScene.getScene(MainScene.java:34)
at Program.Main.start(Main.java:18)
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
Caused by: java.lang.IllegalArgumentException: Invalid URL or resource not found
at javafx.scene.image.Image.validateUrl(Image.java:1110)
... 13 more
Exception running application Program.Main
Kann mir einer einen Tipp geben, wie ich das Problem lösen kann?
Viele Grüße und Glückauf aus dem Pott
Naxon89