Я хотел бы связать файл css с моим приложением. В моем файле fxml я использую это:
<stylesheets>
<URL value="@../stylesheet1.css" />
</stylesheets>
... и я могу увидеть предварительный просмотр в стиле, когда я открываю файл fxml в построителе сцен. Но когда я пытаюсь запустить приложение, я получаю сообщение об ошибке:
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);