我正在开发一个必须具有自定义图标的应用程序。提供的图标在所有尺寸(256x256、48x48、32x32)中都是相同的,但在 16x16 中图标被简化了。
我考虑过 .ico 格式(我可以在其中存储所有不同的图标并让操作系统显示最佳)但javafx.scene.image似乎不支持它(我还没有找到任何确认)。
这是我设置图标的方式
stage.getIcons().add(new Image(getClass().getResourceAsStream("/path/to/icon.ico")));
在这种情况下,图标永远不会显示。如果我将此图标转换为 .png 图像,这可以工作,但会强制始终显示相同的图标(即使在 16x16 中)。
JavaFX 2.2 中是否有显示 .ico 的方法(即使以一种骇人听闻的方式)还是我必须使用其他图像格式?
更新
我将我的 .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 从未显示在应用程序的左上角(尽管这是最接近的尺寸)。