【发布时间】:2012-07-28 20:45:38
【问题描述】:
我正在编写一个专为所有平台设计的 Java 应用程序,但具体来说,我正在研究 OS X 的外观和集成(我在 MacBook Pro 上使用 NetBeans)。我想访问应用程序的菜单,即以应用程序命名的粗体菜单。我想为 About 和 Quit 项目注册侦听器,并显示 Preferences 项目。我也不介意再添加一些我自己的项目。
那么,我该怎么做呢?我看到以前的帖子提到过 OSXAdapter,但是 Apple 的天才们决定将它从他们的库中删除(或模糊地重命名),因为所有链接都重定向到主页,而我的所有搜索都没有结果。我也见过MacOSAppAdapter 类,但我不确定如何使用它。所有的导入和新的类和层次结构都有些混乱。
编辑:
这是我为绑定到 About、Preferences 和 Quit 项目所做的:
我创建了一个新类,MacOSXAboutHandler,它扩展了
com.apple.eawt.Application
它的构造函数只是调用
setAboutHandler(AboutHandler aH)
我为它提供了我自己的扩展监听器
AboutHandler
在我的主课中,我确定我是否在 Mac 上使用
System.getProperty("os.name").contains("mac")
如果这是真的,那么我只需创建一个新的 MacOSXAboutHandler 实例。构造函数添加我的处理程序,并且每当运行应用程序(甚至在 NetBeans 中测试)时,单击应用程序粗体菜单上的 About... 项会执行我在 AboutHandler 中指定的代码。
首选项和退出也是如此,只需将出现的“about”替换为适当的操作。所有这些处理程序都像任何其他 Java 侦听器一样编写。
【问题讨论】: