gpt4 book ai didi

JavaFX:stage.getIcons().add() 在 JavaFX 应用程序中不起作用

转载 作者:行者123 更新时间:2023-12-02 01:41:54 26 4
gpt4 key购买 nike

我想为我的 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"));

我有一个异常(exception):

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 图像。

最佳答案

我已经找到解决办法了。更改自:

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

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

成功了。

关于JavaFX:stage.getIcons().add() 在 JavaFX 应用程序中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54363979/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com