以编程方式更改应用程序Dock图标javaFX

时间:2014-06-11 09:51:24

标签: macos javafx

我有一个只能从JAR加载的javaFX应用程序,但我想更改mac dock中的图标。我已经成功地在Windows上工作了。我正在使用Netbeans IDE,并且宁愿不添加额外的Apple JAR Extension文件。正因为如此,我不确定它是否可能。

1 个答案:

答案 0 :(得分:9)

到目前为止,我还没有看到使用JavaFX的方法,但有一种方法可以使用Apple特定的Java API:

public static void main(String[] args) {
    try {
        URL iconURL = Main.class.getResource("ui/resources/Logo@2x.png");
        Image image = new ImageIcon(iconURL).getImage();
        com.apple.eawt.Application.getApplication().setDockIconImage(image);
    } catch (Exception e) {
        // Won't work on Windows or Linux.
    }

    launch(args);
}

这至少适用于Oracle Java 1.7.0_40和1.8.0_25。

缺点是当你启动JAR时,你会在Dock中看到Java徽标一小段时间,然后更改为你的图标。这是一个技术限制,只能通过创建真正的本机OS X包来解决。