Как добавить таблицу стилей CSS в FXML
Я хотел бы связать файл CSS с моим приложением. В моем файле FXML я использую это:
<stylesheets>
<URL value="@../stylesheet1.css" />
</stylesheets>
... и я вижу предварительный просмотр в стиле, когда открываю файл fxml в scenebuilder. Но когда я пытаюсь запустить приложение, я получаю сообщение об ошибке:
java.net.MalformedURLException: нет протокола: ../stylesheet1.css
Итак, я проверил это так:
<stylesheets>
<String fx:value="stylesheet1.css" />
</stylesheets>
и теперь все наоборот - приложение запускается и применяет CSS, но я не вижу превью в scenebuilder. Сообщение об ошибке:
"Файл stylesheet1.css не существует. Ресурс stylesheet1.css не найден."
Так как правильно прикрепить файл CSS?
Ну, хотя на мой вопрос не ответили, почему именно это не работает вышеуказанным способом, я нашел решение, которое работает для меня. В моем FXML у меня есть только строка
<?scenebuilder-stylesheet ../stylesheet1.css?>
поэтому Scenebuilder работает с этим CSS. И в моем основном классе я установил таблицу стилей программно:
Scene scene = new Scene(root);
String css = this.getClass().getResource("../stylesheet1.css").toExternalForm();
scene.getStylesheets().add(css);