2015-04-01 7 views
1

Мне нужно создать графический интерфейс с SceneBuilder. Я добавил ImageView в свой интерфейс и правильно установил путь к своему изображению. Изображение отображается внутри SceneBuilder, но когда я запускаю приложение, изображения там нет.JavaFX SceneBuilder ImageView не работает

Я помещаю изображение внутри «img/placeholder.png», а затем прямо в свой корневой каталог. Неважно, где я это сказал, он не работает.

Путь к моему файлу gui.fxml:

/src/gui/gui.fxml 

Путь к моему файлу изображения:

/placeholder.png 

Может кто-нибудь помочь мне, пожалуйста?

+1

Можете ли вы добавить местоположение FXML и изображения в проекте. Добавьте путь изображения, указанный в fxml, а также – ItachiUchiha

+0

Добавил его. Надеюсь, ты поможешь мне! – beeef

+0

Является ли изображение помещенным в корневой каталог проекта, а не внутри исходной папки? – ItachiUchiha

ответ

1

Должно быть @, как указано в URL-адресе изображения. Поместите файл изображения внутри папки проекта либо в тот же пакет, либо в другой пакет.

<Image url="@../image/profile_pic.png" /> 
2

Другое решение в каком-то конкретном контексте (Maven связанные) Учитывая /src/main/resources/foo/gui.fxml и /src/main/resources/foo/img/foo.png, если вы создаете вид изображения в SceneBuilder и установить изображение в foo.png, URL-адрес читает @img/foo.png. К сожалению, изображение не отображается в приложении. Если вы измените URL-адрес изображения на @/foo/img/foo.png, тогда изображение не будет отображаться в SceneBuilder, но оно будет отображаться в приложении.

SceneBuilder 8.2.0, JDK 1.8, IntellJ IDEA 2016,1

1

Там есть простое решение вашей проблемы, без необходимости добавления или удаления какого-либо кода.

Как только вы создали элемент управления ImageView в Scene Builder и выбрали изображение с вашего компьютера, выберите значок «шестерня» рядом с кнопкой эллипса и выберите «перейти на абсолютный путь».

Изображение автоматически появится при запуске кода.

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