swing 实现托盘图标
时间: 2023-09-13 08:11:21 浏览: 109
Swing 可以很方便地实现托盘图标,可以通过 SystemTray 和 TrayIcon 类来实现。
下面是一个简单的示例代码:
```java
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class TrayIconDemo {
public static void main(String[] args) {
if (SystemTray.isSupported()) {
SystemTray tray = SystemTray.getSystemTray();
// 创建托盘图标
Image icon = new ImageIcon("icon.png").getImage();
TrayIcon trayIcon = new TrayIcon(icon, "托盘图标", createPopupMenu());
// 添加双击事件
trayIcon.addMouseListener(new MouseAdapter() {
public void mouseClicked(MouseEvent e) {
if (e.getClickCount() == 2) {
JOptionPane.showMessageDialog(null, "托盘图标被双击了!");
}
}
});
try {
// 添加托盘图标
tray.add(trayIcon);
} catch (AWTException e) {
System.out.println("添加托盘图标失败:" + e);
}
} else {
System.out.println("系统不支持托盘图标!");
}
}
// 创建弹出菜单
private static PopupMenu createPopupMenu() {
PopupMenu popupMenu = new PopupMenu();
MenuItem exitItem = new MenuItem("退出");
exitItem.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
System.exit(0);
}
});
popupMenu.add(exitItem);
return popupMenu;
}
}
```
这个示例代码中创建了一个托盘图标,并添加了双击事件和弹出菜单。当用户双击托盘图标时,会弹出一个提示框;当用户点击弹出菜单中的“退出”菜单时,程序会退出。
阅读全文