JavaFX: stage.getIcons (). Add () не работает в приложении JavaFX - PullRequest
0 голосов
/ 25 января 2019

Я хочу добавить значок программы для моего приложения JavaFX. Я знаю, как это сделать - у меня есть объект Stage, определенный как поле в главном классе приложения:

private Stage stage;

И затем в методе, который инициирует основную стадию, у меня есть фрагмент кода:

Scene scene = new Scene(rootLayout);
primaryStage.setScene(scene);
primaryStage.getIcons().add(new Image("file:view/images/programicon.png"));
primaryStage.show();

У меня есть пакет com.myapp.view, и в этом пакете у меня есть другой пакет: com.myapp.view.images, и я вставил значок, который хотел использовать, под названием programicon.png. Ранее я написал неправильно:

primaryStage.getIcons().add(new Image("view/images/programicon.png"));

И я получил исключение:

Caused by: java.lang.IllegalArgumentException: Invalid URL or resource not found
at javafx.scene.image.Image.validateUrl(Image.java:1110)

Но когда я изменил URL-адрес на file:view/images/programicon.png - теперь нет никаких исключений, но значок программы по-прежнему остается по умолчанию.

programicon.png - это изображение 512x512 без фона.

1 Ответ

0 голосов
/ 25 января 2019

Я нашел решение. Изменение от:

primaryStage.getIcons().add(new Image("file:view/images/programicon.png"));

Для

primaryStage.getIcons().add(new Image(getClass().getResourceAsStream("view/images/programicon.png")));

сделал свое дело.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...