请问,java 做一个桌面应用程序可以在程序最小化的时候将其显示在右下角的托盘里吗?要如何实现?就像QQ最小化一样。

解决方案 »

  1.   

    http://topic.csdn.net/t/20060221/17/4568869.html   看看這個吧  
      

  2.   

    这是我的课程设计的点点   里面用到了托盘  希望对你有帮助PopupMenu menu = new PopupMenu();   //系统托盘菜单
             MenuItem messageItem = new MenuItem("关于");    //系统托盘菜单选项
             messageItem.addActionListener(new ActionListener() {
             public void actionPerformed(ActionEvent e) {
              JOptionPane.showMessageDialog(null, "zzzzzzz");
                }
           });
            
            MenuItem closeItem = new MenuItem("退出");
            closeItem.addActionListener(new ActionListener() {
             public void actionPerformed(ActionEvent e) {
             System.exit(0);
                      }
                     });
          
            MenuItem LogItem = new MenuItem("登录");
            LogItem.addActionListener(new ActionListener() {
             public void actionPerformed(ActionEvent e) {
             LogJFrame.ShowJFrame(new LogJFrame());
                      }
                     });
             MenuItem pswItem = new MenuItem("修改密码");
            pswItem.addActionListener(new ActionListener() {
             public void actionPerformed(ActionEvent e) {
             LogJFrame.ShowJFrame(new UpdatePSWJFrame());
                      }
                     });
            menu.add(LogItem);
            menu.add(pswItem);
            menu.add(messageItem);
            menu.add(closeItem);
            systemTray = SystemTray.getSystemTray();   // 获得系统托盘
                    this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
                    this.setVisible(true);
            try {
                trayIcon = new TrayIcon(ImageIO.read(new File("D://系统托盘.jpg")),"601超市管理",menu);   // 设置系统托盘上的图标 名称 和菜单
                systemTray.add(trayIcon);
            }
            catch (IOException e1) {e1.printStackTrace();}
            catch (AWTException e2) {e2.printStackTrace();}        this.addWindowListener(                              // 添加监听
                    new WindowAdapter(){
                @Override
                        public void windowIconified(WindowEvent e){        // 最小化程序
                            dispose();
                        }
                    });        trayIcon.addMouseListener(
                    new MouseAdapter(){
                @Override
                        public void mouseClicked(MouseEvent e){             // 鼠标监听最小化 / 显示
                            if(e.getClickCount() == 2&&flag==0){
                                setExtendedState(Frame.NORMAL);
                                setVisible(true);
                                flag=1;
                            }else if(e.getClickCount() == 2&&flag==1){
                                dispose();
                                flag=0;
                                }
                        }
                    });