我试图更改每次运行我的.jar程序时出现在任务栏中的默认java图标。我成功地使用frame.setIconImage(img)更改了它,但这使得图标太小了,我希望它像其他程序图标一样大且具有高质量。有什么办法可以做到这一点吗?谢谢。
我试图更改每次运行我的.jar程序时出现在任务栏中的默认java图标。我成功地使用frame.setIconImage(img)更改了它,但这使得图标太小了,我希望它像其他程序图标一样大且具有高质量。有什么办法可以做到这一点吗?谢谢。
由于您只提供了一个单一的图标,因此Windows将对该图标进行缩放以适应任务栏中需要显示的任何大小(可能是16x16、32x32或其他大小,具体取决于桌面主题和任务栏的大小)。
如果您想在任务栏中使用“好看”的图标,则需要提供一个32x32像素版本的图标。
一旦您拥有了这个版本,您就可以调用setIconImages(List)
而不是 setIconImage()
来定义操作系统可以使用的图标:
List<Image> icons = new ArrayList<Image>();
icons.add(getImage("someImage16x16.gif"));
icons.add(getImage("someImage32x32.gif"));
window.setIconImages(icons);
这里的getImage()
是某个返回正确图标的方法。本质上,这与你之前用来定义当前图标的步骤是相同的。
你也可以使用这种方法提供一个 64x64 和 24x24 的图标(只需将更多图标添加到列表中即可)。
尝试查看这个例子。看起来您需要使用frame.setIconImage(Toolkit.getDefaultToolkit().getImage("your_image.gif"));
这行代码。