解决方案 »

  1.   

    Java有关窗口最小化和还原的代码 (2012-05-25 08:27:46)转载▼
    标签: java 窗体最小化还原 swing it 分类: java
    public class LCD_FrameHide extends JFrame implements Runnable,MouseListener{
     private int xx;//窗口左上角x坐标
     private int yy;//窗口左上角y坐标
     private int cdheight=100;//窗口的高
     private int cdwidth=100;//窗口的宽
     private int hidepeer=10;//窗口隐藏的速度,单位为像素
     //Thread hidethread;//窗口的隐藏或显示线程
     PopupMenu cdpop1,cdpop2;//弹出菜单
     MenuItem cdmenu1,cdmenu2,cdmenu3,cdmenu4,cdmenu5;//弹出菜单项
     SystemTray cdtray=null;//托盘实例
     TrayIcon cdicon=null;//托盘图标
     ImageIcon cdimage;//图片
     LCD_FrameHide(){
      super(“类似于迅雷的浮动小小提示窗口”);
      setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
      setSize(cdwidth,cdheight);
      cdimage=new ImageIcon(“lcd.jpg”);
        
      cdpop1=new PopupMenu();
      cdmenu1=new MenuItem(“关于”);
      cdmenu2=new MenuItem(“退出”);
      cdmenu3=new MenuItem(“最小化”);
      cdmenu4=new MenuItem(“最小化并放到托盘”);
      cdmenu5=new MenuItem(“还原”);
      
      cdpop2=new PopupMenu();
      cdicon=new TrayIcon(cdimage.getImage(),”LCD的窗口隐藏测试”,cdpop2);
     
        cdmenu1.addActionListener(new ActionListener(){
       public void actionPerformed(ActionEvent e){
        JOptionPane.showMessageDialog(null,”我用来测试隐藏功能的”);
       }
      });
      cdmenu2.addActionListener(new ActionListener(){
       public void actionPerformed(ActionEvent e){
        System.exit(0);
       }
      });
      cdmenu3.addActionListener(new ActionListener(){
       public void actionPerformed(ActionEvent e){
        setState(Frame.ICONIFIED);
       }
      });
      cdmenu4.addActionListener(new ActionListener(){
       public void actionPerformed(ActionEvent e){
        if(SystemTray.isSupported()){
         cdtray=SystemTray.getSystemTray();
         try{
          cdtray.add(cdicon);
          dispose();
         }
         catch(AWTException ex){
          JOptionPane.showMessageDialog(null,”当前系统不支持系统托盘实例!出错信息:”+ex.toString());
         }
         cdicon.addMouseListener(new MouseListener(){
          public void mouseClicked(MouseEvent e){
           if((e.getModifiers()&InputEvent.BUTTON3_MASK)!=0){
            cdpop2.add(cdmenu1);
            cdpop2.add(cdmenu5);
            cdpop2.add(cdmenu2);
            cdpop2.show(null,e.getX(),e.getY());
           }
          }
          public void mouseExited(MouseEvent e){}
          public void mousePressed(MouseEvent e){}
          public void mouseEntered(MouseEvent e){}
          public void mouseReleased(MouseEvent e){}
         });
         dispose();
        }
       }
      });
      cdmenu5.addActionListener(new ActionListener(){
       public void actionPerformed(ActionEvent e){
        setVisible(true);
        cdtray.remove(cdicon);
       }
      });
      cdpop1.add(cdmenu3);
      cdpop1.add(cdmenu4);
      cdpop1.add(cdmenu1);
      cdpop1.add(cdmenu2);  
      add(cdpop1);
      
     
      addMouseListener(this);
      setLocationRelativeTo(null);
      setUndecorated(true);
      setVisible(true);   
     }
     public void mouseExited(MouseEvent e){}
     public void mouseReleased(MouseEvent e){
      setVisible(false);
      setLocation((int)(e.getX()-xx+getLocation().getX()),(int)(e.getY()-yy+getLocation().getY()));
      setVisible(true);
     }
     public void mouseEntered(MouseEvent e){}
     public void mouseClicked(MouseEvent e){
     
     }
     public void mousePressed(MouseEvent e){
      xx=e.getX();
      yy=e.getY();
      if((e.getModifiers()&InputEvent.BUTTON3_MASK)!=0){
       cdpop1.show(this,e.getX(),e.getY()); //在指定位置显示右键弹出菜单
      }
     }
     
     
     public void run(){
      //暂时还没有实现在窗口旁边的时候自动隐藏的功能
      

  2.   


    主要是现在主流是ee和android 懂的人太少了
      

  3.   

    [color=#0000FF]进度条那个是Win7自带的功能,应用程序不用管的,Win7操作系统自动把界面上的Progress bar上进度绘制到状态栏上。[/color]
      

  4.   

    楼主说的那些都是操作系统的功能,不是 Java 的功能,换句话说,什么软件在 Windows 7, Windows 8 上面都有这个效果。
      

  5.   

    那你写个例子看看有没有这个效果?呵呵 一个java窗口的编写应该不难吧
      

  6.   

    那你写个例子看看有没有这个效果?呵呵 一个java窗口的编写应该不难吧
      

  7.   

    那你写个例子看看有没有这个效果?呵呵 一个java窗口的编写应该不难吧