我正在开发一个简单的Java Swing应用程序,创建时会将一个图标添加到系统托盘。我想要做的是检测用户何时单击了该图标(无论是左键还是右键),没有弹出菜单,我只想在单击图标时恢复应用程序。
这是我正在使用的代码:
这是我正在使用的代码:
SystemTray tray = SystemTray.getSystemTray();
Image icon = toolkit.getImage("icon.png");
ActionListener listener = new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
System.out.println("click detected");
}
};
TrayIcon trayIcon = new TrayIcon(icon, "Test Program", null);
trayIcon.addActionListener(listener);
tray.add(trayIcon);
当我运行这个程序时,单击(左键或右键)没有任何效果,但是当我双击时,它会在控制台中显示“检测到点击”消息。
我该怎么做才能检测到单击事件?我需要使用MouseListener吗?(我听说MouseListener可能会导致问题,而ActionListener更好)