2015-01-26 2 views
1

Я получил этот тип иерархии файлов в проекте JavaFXApplication5. enter image description hereНевозможно загрузить FXML при размещении в пакете

Ive сделал еще один пакет для всех файлов fxml, поэтому, когда проект станет большим, будет легче найти определенные файлы.

Теперь в основном классе JavaFXApplication5 У меня есть строка, в которой Im обязательно вызывает исключение (java.lang.reflect.InvocationTargetException), когда приложение пытается запустить.

AnchorPane root = (AnchorPane) FXMLLoader.load(getClass().getResource("FXMLNew.fxml")); 

Я уверен, что это связано с тем, что корень «FXMLNew.fxml» неверен. Но я не знаю, как установить его, когда находится в другом пакете ...?

Или, может быть, эти файлы должны быть помещены в обычную папку?

+0

Там не проблема в размещении ваших FXML файлов в другом пакете – ItachiUchiha

+0

I судимого 'AnchorPane корень = (AnchorPane) FXMLLoader.load (GetClass() getResource ("окно/FXMLNew.fxml").);' Но does not work – Tomasz

+0

Попробуйте дополнительное '/'. Что-то вроде этого 'getClass(). GetResource ("/windows/FXMLNew.fxml ")' – ItachiUchiha

ответ

1

Чтобы загрузить FXML, который находится внутри пакета, используйте /package-name/fxml-file-name.fxml

Для вашего случая:.

AnchorPane корень = (AnchorPane) FXMLLoader.load (GetClass() getResource ("/ окна/FXMLNew.fxml "));

Смежные вопросы