0

可能重复:
java 1.6 SystemTray 图标在 Windows 启动时不出现

我有 java 应用程序,它在窗口操作系统中创建系统尝试图标。当我手动启动时,它运行良好。但是现在我把我的应用程序放到窗口启动意味着我的应用程序应该在没有登录的窗口启动时运行。

但问题是我的应用程序已启动并执行那里的任务,但当有人登录时它没有添加系统托盘图标。

甚至我注意到,在窗口启动时,我的应用程序成功创建了 TrayIcon 对象,创建了 MenuItem,添加了弹出窗口,甚至添加了托盘图标,tray.add(trayIcon);甚至在窗口启动时没有任何异常,但是当我登录时

它没有显示在系统尝试与时间,土地卡图标。

我希望它应该在某些登录时创建尝试图标,就像我们登录时一样,当我们登录时出现 lancard 托盘图标。

感谢和问候

4

1 回答 1

1

我猜你有时间问题。您的应用程序启动速度过快,并在操作系统创建系统托盘之前添加了系统托盘图标。

首先尝试调用SystemTray.getTrayIcons()并将其输出打印到日志中。如果您的图标确实没有出现在列表中,那么您很幸运。您可以尝试添加图标,直到它出现在托盘中。

如果它“出现”在列表中但您看不到它,请尝试以下操作。在添加系统托盘之前添加一些延迟。如果它有助于添加更新系统的线程,请定期尝试。这不是很好的解决方案,但即使用户重新启动他的桌面,它仍然可以工作(我不确定在 Windows 中是否可行,但在 linux 上肯定可行)。

于 2012-08-29T10:50:00.367 回答