如何使用java检测系统托盘的位置?
答
没有,API不提供该功能。 为什么你认为你需要那个吗?无论如何,你究竟在努力实现什么?
答
我有类似的问题。我想在右键单击托盘图标时显示一个弹出窗口,点击它时没有窗口。 (我仍然在调查我是否可以使用默认的弹出式菜单)。 因此,当点击图标方式(鼠标事件的属性)时,我在屏幕上检测到鼠标的位置,并在那里显示我的弹出式菜单。
我知道没有API函数可以做到这一点,这就是为什么我要求“黑客”。 在linux中有一个透明图标的错误:如果你在系统托盘中放置一个透明的图标,它会得到一个灰色的背景。所以我会尝试检测系统托盘的颜色,并将图标的背景颜色设置为系统托盘颜色。 示例:http://media.ubuntuusers.de/forum/attachments/1512816/Bildschirmfoto-1.png – Hemeroc 2010-03-27 11:53:20
还有一个关于该问题的bug报告:http://bugs.sun.com/view_bug.do? bug_id = 6453521(从2006年开始并没有解决!) – Hemeroc 2010-03-27 11:59:25
@Hemeroc:好的,你可以使用java.awt.Robot做截图并尝试找到系统托盘。但我认为尝试修复这个错误而不是构建复杂的解决方法会更有用。谁说系统托盘背景是单一颜色? – 2010-03-27 12:05:04