【问题标题】:Java Change tray iconJava 更改托盘图标
【发布时间】:2014-06-09 20:18:33
【问题描述】:

您好,我正在尝试动态更改 java 中的托盘图标。例如,他们的图标是灰色的正方形。当用户单击托盘菜单中的项目时,我希望灰色方块将图像切换为红色方块。

这是我当前的托盘图标代码。

public class Utils {

    private static Image iconImage;
    private static Image iconImage2;
    private static SystemTray sysTray;
    private static PopupMenu menu;
    private static MenuItem item1;
    private static MenuItem item2;
    private static MenuItem item0;
    private static TrayIcon trayIcon;
    private static TrayIcon trayIcon2;

    public static void loadTrayIcon() {
        JFrame frame = new JFrame("AC Tray Frame");

        frame.setLayout(new GridLayout(1, 3)); 

        if (SystemTray.isSupported()) {
            sysTray = SystemTray.getSystemTray();

            iconImage  = Toolkit.getDefaultToolkit().getImage("osx_tray_icon.png");
            iconImage2  = Toolkit.getDefaultToolkit().getImage("loading.gif");

            menu = new PopupMenu();

            item0 = new MenuItem("This is a test");
            item0.setEnabled(false);
            item1 = new MenuItem("Test");
            item2 = new MenuItem("Exit");

            menu.add(item0);
            menu.addSeparator();
            menu.add(item1);
            menu.addSeparator();
            menu.add(item2);

            item1.addActionListener(new ActionListener() {
                public void actionPerformed(ActionEvent e) {
                    try {
                        system.out.println("hi");
                    } catch (IOException e1) {
                        e1.printStackTrace();
                    }
                }
            });

            item2.addActionListener(new ActionListener() {
                public void actionPerformed(ActionEvent e) {
                    System.exit(0);
                }
            });

            trayIcon = new TrayIcon(iconImage, "Test Title", menu);

            try {
                sysTray.add(trayIcon);
            }
            catch(AWTException e) {
                System.out.println(e.getMessage());
            }
        }
    }

【问题讨论】:

    标签: java dynamic replace icons tray


    【解决方案1】:

    您只想使用TrayIcon#setImage,这将更改TrayIcon 显示的图标

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-09-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-12-26
      • 2020-12-03
      相关资源
      最近更新 更多