检查系统托盘是否集中在Java中?

时间:2010-04-18 15:32:24

标签: java swing

我有一个Java应用程序,系统托盘中有一个图标。

如何检查托盘(或托盘图标)是否具有当前焦点?

Tray和TrayIcon似乎没有.isFocused()或类似。

这可能吗?

谢谢!

1 个答案:

答案 0 :(得分:0)

由于TrayIcon同时支持addMouseListener()addMouseMotionListener(),您应该实现您的侦听器以关注TrayBar的选择/焦点状态。

您可以尝试查看聚焦或取消聚焦时触发的事件。这取决于你想要捕获的内容:如果你想看到用户何时悬停在图标上,你应该尝试使用mouseEnteredmouseExited,依此类推。 TrayIcon不会从任何标准GUI组件继承,因此我认为这是使用它的唯一方法。

此外,我不会过分依赖于跨平台工作,因为可能会从操作系统中触发这些类型的事件并将其发送到JVM,然后将它们转发到TrayIcon对象,但我不会知道这是如何实现的,只需自己尝试一下。