Ich arbeite über die official JavaFX tutorial. Ich versuche, den Code aus Beispiel 5-1 hinzufügen, wie meine Szene folge, der Teil der „Main“ Klasse gemäß den Anweisungen ist:JavaFX 8: Hinzufügen einer benutzerdefinierten CSS-Datei über class.getResource() Fehler
Scene scene = new Scene(grid, 300, 275);
primaryStage.setScene(scene);
scene.getStylesheets().add(Login.class.getResource("Login.css").toExternalForm());
primaryStage.show();
Ich bin mit JavaFX Runtime-Version 8.0.72- b15 und IntelliJ IDEA 15.0.5. Ich habe meine "login.css" Datei in dem Ordner gespeichert:
C:\Users\XXXXXXXX\IdeaProjects\Login\src
und meine Projektdateien sind wie folgt strukturiert:
- Anmeldung
- .idea
- aus
- src
- sa mple
- Controller.java
- Main.java
- sample.fxml
- background.jpg
- login.css
- sa mple
Als ich renne "Mai n“Ich erhalte die folgende Fehlermeldung:
Information:Using javac 1.8.0_77 to compile java sources
Information:java: Errors occurred while compiling module 'Login'
Information:6/9/2016 2:04 PM - Compilation completed with 1 error and 0 warnings in 571ms
C:\Users\XXXXXXXX\IdeaProjects\Login\src\sample\Main.java
Error:(69, 36) java: cannot find symbol
symbol: class Login
location: class sample.Main
This answer scheint zu implizieren, dass die benutzerdefinierte CSS-Datei unter dem sein sollte‚src‘-Ordner, aber es scheint nicht, für mich zu arbeiten. Wie kann ich mein JavaFX-Projekt dazu bringen, diese benutzerdefinierte CSS-Datei zu importieren?
versuchen die CSS in einem neuen srcFolder namens 'Ressourcen' setzen in es schaffen ein Paket mit dem Namen 'css' und setzen Sie es in die Login.css.Then nennen es so ("/css/Login.css). – GOXR3PLUS
GoXrPlus, vielen Dank für Ihren Vorschlag. Basierend auf @ Jewelsea Vorschlag, ich habe diese Zeile meines Codes folgendermaßen geändert: 'scene.getStylesheets(). add (sample.Main.class.getResource ("/ Login.css"). toExternalForm());' Das Ändern des Klassenaufrufs "Login" in einen Klassenaufruf "sample.Main" und das Hinzufügen des Symbols "/" vor "Login.css" hat es funktioniert.Danke für Ihre Hilfe! – MLev
M Lev, um eine Nachricht an andere zu senden, sollten Sie @ username.Just verwenden, um zu informieren :) – GOXR3PLUS