我这里有很好的工作代码
InputStream img = Main.class.getResourcesAsStream("/optician/icon.png");
BufferedImage myImg=ImageIO.read(img);
setIconImage(myImg);
这里也是try / catch但是我没有写这个。所以,这在任何地方都可以正常工作,在JFrame中,在任务栏中,到处都运行正常但在我的桌面上又是Java咖啡杯,它不会随着这段代码而改变。知道如何更改桌面图标吗?我无法找到任何解决方案......
答案 0 :(得分:2)
操作系统根据文件关联分配图标。因为你的代码被编译成jar,操作系统会给它提供它给所有jar文件的图标。
要为应用程序提供自定义图标,您必须将其编译为可执行文件或使用可执行文件启动jar。如果操作系统知道文件是可执行文件,它将检查它是否在其二进制文件中提供了一个图标,如果没有,则会为其提供默认图标。
有许多第三方程序可以从罐子里制作可执行文件。您可以使用自己喜欢的搜索引擎进行搜索,以找到合适的程序(“jar to executable”或“jar to exe”)
答案 1 :(得分:0)
对于 Java咖啡杯图标更改,您可以使用以下代码
public class StuInfo extends JFrame {
Container cont;
StuInfo() {
setIconImage(new ImageIcon(ClassLoader.getSystemResource(
"images/LOGO000.gif")).getImage());
setLayout(null);
cont = getContentPane();
cont.setLayout(null);
cont.setBounds(0, 0, 700, 600);
setSize(600, 500);
setVisible(true);
}
public static void main(String args[]) {
StuInfo s = new StuInfo();
s.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}