【问题标题】:Changing Application Dock Icon javaFX programmatically以编程方式更改应用程序 Dock 图标 javaFX
【发布时间】:2019-11-16 21:22:58
【问题描述】:

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

【问题讨论】:

  • 您是直接使用runnable jar 还是为特定平台的可运行文件打包jar?

标签: macos javafx


【解决方案1】:

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

【讨论】:

  • 只是在 5 年后查看 JavaFX 是否创造了更好的方法。你知道吗?
  • 这不再有效,因为在新版本的 MacOS 和 Java 上 com.apple.eawt.Application 不再存在
猜你喜欢
  • 2014-03-07
  • 1970-01-01
  • 2012-08-17
  • 2023-03-16
  • 2013-12-16
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多