import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;
public class SystemTrayExample {
public static void main(String[] args) {
if (!SystemTray.isSupported()) {
System.out.println("System tray is not supported");
return;
}
try {
// 获取系统托盘
SystemTray tray = SystemTray.getSystemTray();
// 创建一个图片图标
Image image = Toolkit.getDefaultToolkit().getImage("path/to/your/icon.png"); // 请替换为你的图标路径
TrayIcon trayIcon = new TrayIcon(image, "System Tray Demo", null);
// 创建一个弹出菜单
PopupMenu popup = new PopupMenu();
MenuItem exitItem = new MenuItem("Exit");
exitItem.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
System.exit(0);
}
});
popup.add(exitItem);
trayIcon.setPopupMenu(popup);
// 添加托盘图标
tray.add(trayIcon);
// 显示托盘图标的信息提示(可选)
trayIcon.displayMessage("Hello, World!", "This is a system tray demo", TrayIcon.MessageType.INFO);
} catch (AWTException e) {
System.out.println("TrayIcon could not be added.");
e.printStackTrace();
}
}
}
**说明**:
1. 这段代码演示了如何在Java中创建并添加一个系统托盘图标。
2. 请确保你有一个有效的图标文件,并将其路径替换到`Toolkit.getDefaultToolkit().getImage("path/to/your/icon.png");`中的`"path/to/your/icon.png"`。
3. 示例中创建了一个简单的弹出菜单,包含一个“Exit”选项,用于退出程序。
4. 使用`TrayIcon.displayMessage`方法可以在托盘图标上显示一个信息提示。
5. 需要注意的是,这段代码必须在支持系统托盘图标的平台上运行,比如Windows和macOS。Linux系统可能因桌面环境而异,不是所有Linux环境都支持系统托盘图标。