SWING托盘图标设置及托盘图标闪烁

给SWING程序添加系统托盘图标需要用到两个主要的类:SystemTray和TrayIcon

    SystemTray 通常用于判断系统是否支持托盘图标和添加系统图标功能;

    TrayIcon 用来创建一个图标,然后需要使用SystemTray将add进去;

    if (SystemTray.isSupported()) {// 判断系统是否托盘
        TrayIcon icon = new TrayIcon(Toolkit.getDefaultToolkit()
    		    .createImage("./images/img.png"));// 创建一个托盘图标对象
        PopupMenu menu = new PopupMenu();// 创建弹出菜单
        MenuItem item = new MenuItem("退出");// 创建一个菜单项
        item.addActionListener(new ActionListener() {
    	    public void actionPerformed(ActionEvent e) {
    		    System.exit(0);
    	    }
        });
        menu.add(item);// 将菜单项添加到菜单列表
        icon.setPopupMenu(menu);// 将菜单添加到托盘图标
        SystemTray tray = SystemTray.getSystemTray();// 获取系统托盘
        tray.add(icon);// 将托盘图表添加到系统托盘
    }
     

        如果需要添加托盘图标闪烁效果,只需调用TrayIcon.setImage(Image image)动态替换托盘图标即可,如下:

    Toolkit tk = Toolkit.getDefaultToolkit();
    TrayIcon icon = new TrayIcon(tk.createImage("./images/bee.png"));
    for(int i=0;i<10;i++){
        icon.setImage(tk.createImage(""));
        Thread.sleep(200);
        icon.setImage(tk.createImage("./images/bee.png"));
        Thread.sleep(200);
    }
     

    猜你喜欢

    转载自oma1989.iteye.com/blog/1748187