如何使用Java在Windows上正确实现SystemTray / Pinned Taskbar应用程序

时间:2013-11-26 18:47:37

标签: java windows java-7 system-tray

在OSX上,我的Java应用程序有一个停靠菜单(使用Apples扩展到Java com.apple.eawt.Application.getApplication()。setDockMenu),允许通过右键单击停靠栏图标启动任务,也可以是文件放到停靠栏图标上(使用Apples com.apple.eawt.OpenFilesHandler),我的应用程序开始处理删除的文件。

如果在Windows上敏感,我试图复制此功能,如果Windows上的这种行为很奇怪,我不想这样做。我找不到将任务添加到任务栏上应用程序图标的弹出菜单的方法(我的应用程序有winrun4j提供的.exe包装器),这可能吗?

但是我已经使用了java.awt.SystemTray来添加一个右键单击菜单,它可以工作,但是当我使用任务栏图标和SystemTray时,我在Windows中不清楚。我不能做的是让SystemTray响应丢弃的文件,根据这个Oracle Java问题,它永远不会发生http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7119272。我不清楚的是,Windows系统托盘是否永远不会响应被丢弃的东西,或者这只是Java实现中缺少的功能。

有没有办法将文件拖到任务栏图标上,或者是将文件拖到最小化图标上的整个概念纯粹是OSX的东西,而不是与Windows相关联?

1 个答案:

答案 0 :(得分:0)

要回答我自己的问题,不能将文件直接删除到固定的任务栏图标或工具栏图标上,但如果将文件拖到任务栏图标上,则应该显示主窗口,然后将文件拖放到窗口上相反,这种行为是自动发生的,我不需要编码。