Gluon Mobile - Местоположение файла fxml не указано

Я хочу реализовать приложение javafx как на рабочем столе, так и на Android. Когда я пытаюсь загрузить файл fxml:

FXMLLoader loader = new FXMLLoader(getClass().getResource("ProjectSetup.fxml")); Parent root = loader.load();

Я получаю сообщение об ошибке: java.lang.IllegalStateException: Location is not set. Я пытался поместить его в Ресурсы (основной), Ресурсы (Рабочий стол), Исходные пакеты (Java).

Пример

[1]

Ничего из этого не сработало.

Куда я должен поместить «ProjecSetup.fxml», чтобы он заработал?


person MiHu    schedule 04.07.2017    source источник


Ответы (1)


Подходящее место для файлов fxml — src/main/resources/yourpackage. Если класс, вызывающий getResource(), не находится в том же пакете, что и указанный файл fxml.file, т. е. src/main/yourpackage, вы должны использовать абсолютный путь: fxmlLoader(getClass().getResource("/yourpackage/ProjectSetup.fxml"). Обратите внимание на косую черту в начале

person jns    schedule 04.07.2017
comment
Но когда я создал проект Gluon Single View Project, было создано множество папок ресурсов. Также нет каталога с именем src, но есть исходные пакеты. - person MiHu; 05.07.2017
comment
Я использую Eclipse, поэтому структура пакета отличается от вашей. Попробуйте получить доступ к файлу fxml: new FxmlLoader(getClass().getResource("/fxml/ProjectSetup.fxml") - person jns; 05.07.2017