So fügen Sie ein CSS-Stylesheet in FXML hinzu

Ich möchte eine CSS-Datei mit meiner Anwendung verknüpfen. In meiner fxml-Datei verwende ich Folgendes:

  <stylesheets>
    <URL value="@../stylesheet1.css" />
  </stylesheets>

... und ich kann eine gestaltete Vorschau sehen, wenn ich die fxml-Datei in scenebuilder öffne. Aber wenn ich versuche, die Anwendung auszuführen, erhalte ich eine Fehlermeldung:

java.net.MalformedURLException: kein Protokoll: ../stylesheet1.css

Also habe ich es so getestet:

<stylesheets>
    <String fx:value="stylesheet1.css" />
</stylesheets>

und jetzt ist es umgekehrt - die anwendung startet und wendet das css an, aber ich sehe die vorschau nicht in scenebuilder. Die Fehlermeldung:

"Die Datei stylesheet1.css existiert nicht. Ressource stylesheet1.css nicht gefunden."

Wie hänge ich die CSS-Datei richtig an?

Nun, obwohl meine Frage nicht beantwortet wurde, warum genau das nicht so funktioniert, habe ich eine Lösung gefunden, die für mich funktioniert. In meiner FXML habe ich nur die Zeile

<?scenebuilder-stylesheet ../stylesheet1.css?>

Also arbeitet Scenebuilder mit diesem CSS. Und in meiner Hauptklasse habe ich das Stylesheet programmatisch gesetzt:

Scene scene = new Scene(root);
String css = this.getClass().getResource("../stylesheet1.css").toExternalForm(); 
scene.getStylesheets().add(css);

Antworten auf die Frage(4)

Ihre Antwort auf die Frage