15

我正在尝试更改每次运行 .jar 程序时出现在任务栏中的默认 java 图标。我设法用 frame.setIconImage(img); 但这使图标太小了,我希望它与其他程序图标一样大并且具有高质量。我有什么办法可以做到吗?谢谢。

4

2 回答 2

21

由于您只提供了一个图标,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 图标(只需将更多图标添加到列表中)。

于 2012-05-14T22:01:12.963 回答
4

试试看这个例子。看起来你需要使用frame.setIconImage(Toolkit.getDefaultToolkit().getImage("your_image.gif"));line

于 2012-05-14T21:51:17.977 回答