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



我有一个javaFX应用程序,只能从JAR加载,但是我想改变mac dock中的图标。我已经设法在窗户上解决了这个问题。我正在使用Netbeans IDE,并且不希望添加额外的apple JAR扩展文件。正因为如此,我不确定这是否可能。

到目前为止,我还没有看到在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 bundle来解决。

最新更新