我正在编写一个专为所有平台设计的 Java 应用程序,但具体来说,我正在研究 OS X 外观和集成(我在我的 MacBook Pro 上使用 NetBeans)。我想访问应用程序的菜单,即以应用程序命名的粗体菜单。我想为 About 和 Quit 项目注册侦听器,并显示 Preferences 项目。我也不介意添加更多我自己的项目。
那么,我该怎么做呢?我看过以前的帖子提到 OSXAdapter,但 Apple 的天才们决定将它从他们的库中删除(或重命名不明确),因为所有链接都重定向到主页,而我所有的搜索都没有结果。我还看到了一个MacOSAppAdapter类,但我不确定如何使用它。所有导入和新的类和层次结构都有些令人困惑。
编辑:
这是我为与 About、Preferences 和 Quit 项目相关联所做的工作:
我创建了一个新类 MacOSXAboutHandler,它扩展了
com.apple.eawt.Application
Run Code Online (Sandbox Code Playgroud)
它的构造函数简单地调用
setAboutHandler(AboutHandler aH)
Run Code Online (Sandbox Code Playgroud)
我为它提供了我自己的监听器,它扩展了
AboutHandler
Run Code Online (Sandbox Code Playgroud)
在我的主课中,我确定我是否在 Mac 上使用
System.getProperty("os.name").contains("mac")
Run Code Online (Sandbox Code Playgroud)
如果这是真的,那么我只需创建一个 MacOSXAboutHandler 的新实例。构造函数添加我的处理程序,并且每当应用程序运行(甚至在 NetBeans 中测试)时,单击应用程序粗体菜单上的 About... 项都会执行我在 AboutHandler 中指定的代码。
对首选项和退出也是如此,只需用适当的操作替换出现的“about”。所有这些处理程序都像任何其他 Java 侦听器一样编写。
您可能想看看将您的 Java 应用程序带到 Mac OS X和(更重要的是)将您的 Java 应用程序带到 Mac OS X 第 2 部分和将您的 Java 应用程序带到 Mac OS X 第 3 部分
您可能会使用Java System Property Reference for Mac
您可能想看一下Apple 的 Java 6 Extensions API,从我的简短阅读来看,您基本上希望使用默认实例 com.apple.eawt.Application并提供您需要的处理程序(例如setAboutHandler)。
您可能还想阅读《Mac OS X 上的 Java 关于、退出和首选项菜单项和事件》一文,其中应该提供更多额外的提示。
| 归档时间: |
|
| 查看次数: |
2912 次 |
| 最近记录: |