Swing实现系统托盘

/* 实现系统托盘化 */
    protected void setToolSystemTray() {
        // 系统是否支持系统托盘
        if (SystemTray.isSupported()) {

            // 获取SystemTray系统托盘实例
            SystemTray tray = SystemTray.getSystemTray();

            // 加载图片
            ImageIcon image = new ImageIcon(getClass().getClassLoader()
                    .getResource("titleImg/title_try.png"));
            // 弹出式 菜单
            PopupMenu popup = new PopupMenu();

            // 创建关于菜单项
            MenuItem aboutItem = new MenuItem("open");
            aboutItem.addActionListener(new ActionListener(){

                @Override
                public void actionPerformed(ActionEvent e) {
                    jFrame.setVisible(true);
                    
                }
                
            });
            popup.add(aboutItem);

            // 创建退出菜单项
            MenuItem exitItem = new MenuItem("exit");
            exitItem.addActionListener(new ActionListener() {

                @Override
                public void actionPerformed(ActionEvent e) {
                    System.exit(0);
                }
            });
            popup.add(exitItem);
            // 构造托盘图标
            trayIcon = new TrayIcon(image.getImage(), "Coder", popup);
            // 鼠标事件
            trayIcon.addMouseListener(new MouseAdapter() {

                public void mouseClicked(MouseEvent e) {
                    // 单击显示窗口
                    if (e.getClickCount() == 1) {
                        jFrame.setVisible(true);
                    }
                }
            });

            // 添加托盘图标
            try {
                tray.add(trayIcon);
            } catch (AWTException e1) {
                e1.printStackTrace();
            }
        } else {
            JOptionPane.showMessageDialog(null,
                    System.getProperty("os.version") + "系统不支持系统托盘!");
        }
    }
    

 

posted @ 2013-12-16 22:20  杨桃  阅读(597)  评论(0编辑  收藏  举报