JFrame的setIconImages()方法应该使用哪些图标尺寸?

20

有人知道在使用 setIconImages()(复数)方法为 jFrame 设置图标大小时,应该使用哪些图标尺寸,以便我的应用程序图标在所有平台和所有上下文中(例如窗口图标、任务栏图标、alt-tab 图标等)都能显示良好吗?

我找到了一个示例,它使用了一个 16px×16px 和一个 32px×32px 的图像,但我需要更大的图像吗?

为了测试,我还尝试将 64px 和 128px 版本添加到传递给 setIconImages() 的列表中,但这些版本似乎没有在我的 Windows 7 机器上使用。然而,我无法轻松地在其他机器上进行测试,所以想知道是否有人知道我应该包括哪些尺寸?

1个回答

41
根据API,运行时会从提供的列表中选择最合适的尺寸。我会提供16x1632x3264x64128x128,并让JVM在运行时决定。
以下是翻译内容:

public void setIconImages(List<? extendsImage> icons)

设置要显示为此窗口图标的图像序列。后续调用getIconImages将始终返回icons列表的副本。

根据平台功能,可能会使用不同尺寸的一个或多个图像作为窗口的图标。

从开头开始扫描icons列表以查找最适合尺寸的图像。如果列表包含多个相同大小的图像,则使用第一个。

未指定图标的无所有者窗口使用平台默认图标。拥有者窗口的图标可以从所有者继承,除非明确覆盖。将图标设置为null或空列表会恢复默认行为。

注意:本地窗口系统可能使用不同尺寸的不同图像来表示窗口,具体取决于上下文(例如窗口装饰、窗口列表、任务栏等)。它们也可以为所有上下文使用单个图像或不使用任何图像。

参数:

     icons - 要显示的图标图像列表。

自从:

     1.6

另请参见:

     getIconImages(), setIconImage(Image)


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接