java实现系统托盘示例



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环境都支持系统托盘图标。