我正在开发一个必须具有自定义图标的应用程序。提供的图标在所有尺寸(256x256、48x48、32x32)中都相同,只有16x16的图标被简化了。
我考虑使用.ico格式(可以存储所有不同的图标,并让操作系统显示最佳图标),但它似乎不受javafx.scene.image支持(我没有找到任何确认信息)。
以下是我设置图标的方法。
在这种情况下,图标永远不会显示。如果我将此图标转换为 .png 图像,则可以正常工作,但是强制始终显示相同的图标(即使在 16x16 中)。
在 JavaFX 2.2 中是否有一种方法可以显示 .ico(即使是 hacky 方式),还是必须使用其他图像格式?
更新
我将我的 .ico 分成多个 png(每个尺寸一个),然后逐个加载它们。
256x256和16x16是两个不同的图片,但16x16从未在应用程序的左上角显示(尽管这是最接近的大小)。
我考虑使用.ico格式(可以存储所有不同的图标,并让操作系统显示最佳图标),但它似乎不受javafx.scene.image支持(我没有找到任何确认信息)。
以下是我设置图标的方法。
stage.getIcons().add(new Image(getClass().getResourceAsStream("/path/to/icon.ico")));
在这种情况下,图标永远不会显示。如果我将此图标转换为 .png 图像,则可以正常工作,但是强制始终显示相同的图标(即使在 16x16 中)。
在 JavaFX 2.2 中是否有一种方法可以显示 .ico(即使是 hacky 方式),还是必须使用其他图像格式?
更新
我将我的 .ico 分成多个 png(每个尺寸一个),然后逐个加载它们。
stage.getIcons().add(new Image(getClass().getResourceAsStream("/path/to/icon_16x16.png")));
stage.getIcons().add(new Image(getClass().getResourceAsStream("/path/to/icon_256x256.png")));
256x256和16x16是两个不同的图片,但16x16从未在应用程序的左上角显示(尽管这是最接近的大小)。