2009-08-23 106 views
3

是否可以将项目添加到应用程序停靠菜单?Java OS X Dock菜单

编辑:我想我错过措辞的问题,我不想找到一种方法来添加图标到码头。我正在寻找的是,当你右键点击itunes图标,你会得到菜单上的iTunes控制(播放暂停等),我想知道如何添加自定义项目到该菜单。

回答

5

查看com.apple.eawt包。特别是,当你初始化你的应用程序,这样做如下:

if (System.getProperty("os.name").startsWith("Mac OS X")) { 
    // only do this setup if we know this is a Mac 
    com.apple.eawt.Application macApp = com.apple.eawt.Application.getApplication(); 
    java.awt.PopupMenu menu = new java.awt.PopupMenu(); 
    // create your java.awt.MenuItem objects here 
    // add to menu via java.awt.Menu#add(java.awt.MenuItem) 
    macApp.setDockMenu(menu); 
} 

如果您正在分发这是一个跨平台的应用程序,苹果提供了一个苹果Java扩展罐子存根的com.apple.eawt包,所以代码将使用非Apple JDK进行编译。

2

是的(提供我理解的问题)。

如果你只是想定制Java图标在Dock中看到... http://developer.apple.com/documentation/Java/Conceptual/Java14Development/03-JavaDeployment/JavaDeployment.html#//apple_ref/doc/uid/TP40001885-208447-TPXREF120

观点二OSX下的应用程序捆绑部分 “如果你添加相应的图标,它显示在Dock中的应用程序图标,清楚地标识您的应用程序(否则,Dock中会出现一个默认的Java咖啡杯图标。)“

有一个示例应用程序(Java)用于处理您的停靠点图标的拖放事件以及此处的位置: http://www.devdaily.com/blog/post/jfc-swing/java-handle-drag-drop-events-mac-osx-dock-application-icon

如果你希望你的应用程序在安装过程中自动将它的图标添加到扩展坞(可能是你的意思),你应该知道没有“官方苹果”的方式来做到这一点,因为它是OS X上的坏设计,强制你的图标进入用户停靠,并且通常会皱眉。所有我知道的MAC用户都会立即删除您的应用程序。

也就是说,您可以查看Apple网站上的系统管理指南,了解它如何以编程方式完成。