从Java访问Mac OS X应用程序菜单

我正在编写一个专为所有平台设计的
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中指定的代码.

对于偏好和退出也是如此,只需用适当的动作替换“约”的出现.所有这些处理程序都是像任何其他Java侦听器一样编写的.

最佳答案 您可能想要查看
Bringing your Java Application to Mac OS X和(更重要的)
Bringing your Java Application to Mac OS X Part 2
Bringing your Java Application to Mac OS X Part 3

你可能会使用Java System Property Reference for Mac

你可能想看一下Apple’s Java 6 Extensions API,从我的简短阅读来看,你似乎基本上想要使用com.apple.eawt.Application的默认实例并提供你需要的处理程序(例如setAboutHandler).

您可能还想阅读The Java on Mac OS X About, Quit and Preferences menu items and events文章,该文章应提供更多其他提示.

点赞