Scene Builder 2.0 не может загрузить таблицу стилей из ресурсов / пути к классам

Мой файл FXML имеет атрибут stylesheets="styles/Styles.css", указанный на корневом узле. Это нормально работает при запуске программы. Однако в Scene Builder 2 CSS не загружается, консоль печатает WARNING: Resource "styles/Styles.css" not found., панель «Свойства» не работает, а консоль далее печатает трассировки стека. Если атрибут таблиц стилей указан с абсолютным URL-адресом file:, то SB работает, но мне нужно, чтобы URL-адрес указывал на путь к классам.


person Aleksandr Dubinsky    schedule 22.01.2014    source источник


Ответы (1)


В моем случае таблица стилей определяется следующим образом внутри корневого элемента:

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

В этой нотации это, вероятно, означает, что файл ищется относительно от позиции файла FXML.

Но вы должны указать местоположение загруженного файла FXML во время выполнения.

   // file = String with FXML file path, loader = FXMLLoader
   URL resource = getClass().getResource(file);
   loader.setLocation(resource);

Надеюсь, это вам поможет ...

Btw Scene Builder 2.0 все еще является версией в раннем доступе, так что могут возникнуть проблемы ...

person none_    schedule 23.01.2014