怎么了?为什么通过Windows 10链接启动Jar时,在Windows 10任务栏上显示了错误的图像图标(常规的Java图标,而不是我放在Jar中的图标)?
我有一个Jar,它试图用...设置图片图标。
this.setIconImage(icon);
当使用类似...的命令行启动程序时,它运行良好。
java -jar C:\Games\RealWar.jar
然后(或当Eclipse运行程序时),Jar内部的正确图标显示在Windows 10任务栏上,
但是,通过Windows 10链接启动Jar时,正确的图标未显示在任务栏上,该链接包含目标字符串,例如...
"C:\Program Files\Java\jdk1.8.0_152\bin\java.exe" -jar C:\Games\Java\RealWar.jar
在两种情况下,正确的图像图标都显示在程序窗口的左上角,但是当使用Windows 10链接而不是命令行启动程序时,任务栏上的图标为常规图标。 Java图标,而不是罐子里的图标。
我想我也想指出一点,当通过Windows 10链接启动Jar时,Jar仍会找到其ImageIcon。我知道这一点,因为我在程序中设置了一个测试来...
System.out.println("Icon is null.");
...如果找不到其图标。但是我知道它发现它的Icon很好,因为它说另一个...
System.out.println("Icon is not null.");
...相反
我也试图将Windows 10链接中的目标字符串缩短为类似...
java -jar "C:\Games\Java\RealWar.jar"
...但是它不起作用。 Windows 10坚持将“ java”更改为以下任意一种。
"C:\Program Files\Java\jdk1.8.0_152\bin\java.exe"
...或...
C:\ProgramData\Oracle\Java\javapath\java.exe
但这两个都不会使Windows 10在Windows 10任务栏上显示正确的图像图标。
那怎么了?为什么通过Windows 10链接启动Jar时,在Windows 10任务栏上显示了错误的图像图标(常规的Java图标,而不是我放在Jar中的图标)?
因此,图像图标为“非null”。 Jar中的程序找到了其图像图标。它在程序窗口的左上角发布了其图像图标。
但是,当通过Windows 10链接而不是命令行启动程序时,任务栏上将仅显示常规Java图标,而不是正确的图像图标。