【发布时间】:2014-03-04 15:15:55
【问题描述】:
您好,我可以将 TrayIcon 添加到 SystemTray 并且可以删除相同的表单 SystemTray。
如何删除现有的 TrayIcon。我无法让可用的 TrayIcons 对象来执行此操作。
下面是我添加和删除 TrayIcon 的代码
TrayIcon trayIcon = new TrayIcon(icon);
SystemTray tray = SystemTray.getSystemTray();
PopupMenu popup = new PopupMenu();
MenuItem exit = new MenuItem("Exit");
popup.add(exit);
trayIcon.setToolTip("My TrayIcon");
trayIcon.setPopupMenu(popup);
tray.add(trayIcon);
trayIcon.displayMessage("Testing",
"Information" ,
TrayIcon.MessageType.INFO );
tray.remove(trayIcon);
【问题讨论】:
-
您的意思是删除由其他应用程序添加的一个吗?
-
不完全是,我在开始测试时添加了一个尝试图标,如果测试突然停止。图标没有被卸载。下次如果我再次运行,托盘中将添加一个图标。因此,我在系统托盘中有一堆相同的图标
-
“突然停止”是什么意思?你的意思是抛出异常吗?
-
如果用户在测试完成之前关闭了触发批处理文件
-
如果您的意思是进程被强制终止,那么是的,它没有机会删除其图标。这是一个 Windows 错误。如果您将鼠标移到剩余的图标上,它会突然消失。
标签: java swing icons awt system-tray