是否可以使用JavaFX更改应用程序图标,还是必须使用Swing?


当前回答

我试过了,效果不错:

stage.getIcons().add(new Image(getClass().getResourceAsStream("../images/icon.png")));

其他回答

如果你有一个图像文件夹并且图标保存在其中,使用这个

stage.getIcons().add(new Image(<yourclassname>.class.getResourceAsStream("/images/comparison.png")));

如果你直接从你的包中使用它,这不是一个好的做法,使用这个

stage.getIcons().add(new Image(<yourclassname>.class.getResourceAsStream("comparison.png")));

如果你有一个文件夹结构里面有你的图标

stage.getIcons().add(new Image(<yourclassname>.class.getResourceAsStream("../images/comparison.png")));
stage.getIcons().add(new Image("/images/logo_only.png"));

在src文件夹中创建图像文件夹并从中获取图像是一个好习惯。

假设你的stage是“stage”,文件在文件系统上:

stage.getIcons().add(new Image("file:icon.png"));

根据下面的评论,如果它被包装在一个容器中,你将需要使用以下方法:

stage.getIcons().add(new Image(<yourclassname>.class.getResourceAsStream("icon.png")));

我试过了,效果不错:

stage.getIcons().add(new Image(getClass().getResourceAsStream("../images/icon.png")));

你认为如何创建新的包,即图像。图标在你的SRC目录和移动到那里你。png图像?那么你只需要写:

Image image = new Image("/image/icons/nameOfImage.png");
primaryStage.getIcons().add(image);

这个解决方案非常适合我,但我仍然不确定它是否正确(这里是初学者)。