我有一个Java应用程序,该应用程序的系统任务栏中有一个图标。

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

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

这可能吗?

谢谢!

最佳答案

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

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

另外,我不会过分依赖它来跨平台工作,因为可能是这类事件是从OS触发并发送到JVM并将其转发到TrayIcon对象的,但是我不知道这有多好实施,只需自己尝试一下即可。

10-06 12:42