6

为了帮助 Java 应用程序在 Mac OS X 上运行时看起来更像原生应用程序,Apple 创建了Apple Java Extensions以使 Java 应用程序的行为更像 Mac OS X。这些允许处理“关于”的行为之类的事情菜单并支持拖放到应用程序图标上。

但是,我找不到任何信息表明这些扩展是否包含在 Java 7 中,甚至是否可用于 Java 7。据我了解,Apple 将他们的 OS X 实现合并到 OpenJDK 中,但我不确定这些扩展是否适用用它。我确实看到OpenJDK 的 Mac OS X 端口的目标是“包含一个完整的、原生的基于 Cocoa 的 UI 工具包”,但我找不到太多关于这意味着什么。搜索网络并没有证明非常有成效,我不知道它们是否与 Java 7 兼容,甚至是否包含在内。

所以我想我有三个问题:

  • 运行 Java 7 的 Mac 能否使用 Apple Java Extensions?
  • 它们是否包含在 Java 7 中,如果没有,我可以下载它们以捆绑到我的应用程序中吗?
  • 这些与 Java 7 兼容的扩展是否有任何替代方案?
4

1 回答 1

6

运行 Java 7 的 Mac 能否使用 Apple Java Extensions?

是的。它们包含在 Oracle 发行版和 OpenJDK 中。请参阅下面的第二个答案。

我不能保证完整的 API,因为我只需要一个子集来支持应用程序图标和应用程序框架上的拖放行为。我可以确认,尽管这与 OpenJDK 7 的预期一样。在分发方面也没有问题,因为该应用程序在 Mac App Store 上出售。

它们是否包含在 Java 7 中,如果没有,我可以下载它们以捆绑到我的应用程序中吗?

它们包含在 OpenJDK 7 中,您可以在/src/macosx/classes/com/apple中找到源代码,并由 Oracle 支持,如macosx-port-dev 邮件列表中可读的消息和错误修复所暗示的那样。

它们也包含在 Oracle 发行版中,解压 rt.jar 以查看它们。

您无需下载任何内容,只需在您的编辑器中开始使用它们:

IntelliJ 补全

这些与 Java 7 兼容的扩展是否有任何替代方案?

不是我知道的,但我怀疑你需要一个替代方案。

于 2013-02-24T17:48:02.127 回答