Структура проекта:
В настоящее время я разрабатываю приложение JavaFX в Eclipse, и у меня возникают проблемы с загрузкой таблицы стилей .css из папки ресурсов.
Я уже добавил папку ресурсов в путь к классам (Свойства проекта -> Источник -> Добавить папку).
Используется следующий код:
this.getStylesheets().add(getClass().getResource("/CSS/application-container.css").toExternalForm());
getResource()
выдает NullPointerException. Я читал другие сообщения и пробовал все, но не могу заставить его работать.
РЕДАКТИРОВАТЬ: удалось заставить его работать, удалив и восстановив папку bin. Теперь .css загружен, но по какой-то причине он не применяется, однако при использовании метода javaFX .setStyle(...)
с тем же содержимым .css он работает.
private void buildHeader() {
this.header.setId("header-container");
this.getStylesheets().add(getClass().getResource("/CSS/application-container.css").toExternalForm());
// this.header.setStyle("-fx-background-color: #7b9bce;"); this way works
}
CSS:
@charset"utf-8";
#header-container {
-fx-background-color: #7b9bce;
}
this
на что здесь ссылаются? - person Bo Halim   schedule 20.01.2017getClass().getResource("/CSS/application-container.css")
возвращает null? (т.е. вы не получаете npe откуда-то еще). ПопробуйтеSystem.out.println(getClass().getResource(...))
проверить. - person James_D   schedule 20.01.2017hbox.setStyle(...)
отлично работает и отображает стиль. Но я бы очень хотел использовать внешний .css, чтобы не смешивать дизайн графического интерфейса с кодом. - person Franch   schedule 20.01.2017setId()
илиgetStyleClass()
. ! - person Bo Halim   schedule 20.01.2017