首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

关闭窗体有关问题

2012-03-03 
关闭窗体问题? importjava.awt.Toolkitimportjava.awt.TrayIconimportjava.awt.event.ActionEventimpor

关闭窗体问题?

import   java.awt.Toolkit;  

import   java.awt.TrayIcon;  

import   java.awt.event.ActionEvent;  

import   java.awt.event.ActionListener;  

import   java.awt.event.WindowAdapter;  

import   java.awt.event.WindowEvent;  


import   javax.swing.JButton;  

import   javax.swing.JFrame;  

import   javax.swing.JPanel;  

import   javax.swing.WindowConstants;  

import   java.sql.*;

import   java.io.*;
import   net.sourceforge.jtds.jdbc.Driver;

import   java.util.Timer;

import   java.util.TimerTask;
import   java.util.*;
import   java.awt.*;
import   javax.swing.*;


public   class   TrayIconAdvanced   extends   JFrame   {  

        private   TrayIcon   ti;  


        public   static   void   main(String[]   args)   {  

AnnoyingBeep   aaa=new   AnnoyingBeep();
aaa.AnnoyingBeep();


}
public   TrayIconAdvanced()   {  

                setDefaultCloseOperation(WindowConstants.HIDE_ON_CLOSE);  

                this.addWindowListener(new   WindowAdapter()   {  

                        public   void   windowClosing(WindowEvent   e)   {  

                                if   (SystemTray.isSupported())   {  

                                        setVisible(false);  

                                        minimizeToTray();  

                                }   else   {  

                                        System.exit(0);  

                                }  

                        }  

                });  

                JPanel   root   =   new   JPanel();  
       

                  //JLabel   label=new   JLabel( "您有新消息,请查收! ");
                JButton   exitButton   =   new   JButton( "您有新消息,请查收! ");  





               
                exitButton.addActionListener(new   ActionListener()   {  


                        public   void   actionPerformed(ActionEvent   e)   {  



            try   {  
  Process   p   =   Runtime.getRuntime().exec(  
  "cmd.exe   /c   start   http://www.sina.com.cn ");  
  p.waitFor();  
  }  
  catch   (Exception   ae)   {  
  System.out.println(ae.getMessage());  
  }  

SystemTray   tray   =   SystemTray.getSystemTray();  

                try   {  

                        tray.add(ti);  

                }   catch   (AWTException   ce)   {  

                        System.err.println(ce);  

                }  


                                //System.exit(0);   //退出系统托盘
                                   

                    }  

                }
);  

                root.add(exitButton);  

                getContentPane().add(root);  

                pack();  


                initTi();  

        }  


        private   void   initTi()   {  

                Image   image   =   Toolkit.getDefaultToolkit().getImage(  

                                this.getClass().getResource( "TrayIcon.png "));  
//this.getClass().getResource( "1.gif "));  

                PopupMenu   popupTi   =   new   PopupMenu();  

                MenuItem   showItem   =   new   MenuItem( "Show ");  

                ActionListener   showListener   =   new   ActionListener()   {  

                        public   void   actionPerformed(ActionEvent   e)   {  

                                setVisible(true);  

                                SystemTray.getSystemTray().remove(ti);  

                        }  

                };  

                showItem.addActionListener(showListener);  



                popupTi.add(showItem);  

                ti   =   new   TrayIcon(image,   "TrayIcon ",   popupTi);  

                ti.addActionListener(showListener);  

        }  


        public   void   minimizeToTray()   {  

                SystemTray   tray   =   SystemTray.getSystemTray();  

                try   {  

                        tray.add(ti);  

                }   catch   (AWTException   e)   {  

                        System.err.println(e);  

                }  

        }  

}  
  class   AnnoyingBeep   {  
Toolkit   toolkit;  
  Timer   timer;  
  public   void   AnnoyingBeep()   {  
    toolkit   =   Toolkit.getDefaultToolkit();  
    timer   =   new   Timer();  
    timer.schedule(new   RemindTask(),   0,1*10000);    
  }


  class   RemindTask   extends   TimerTask   {  
    //int   numWarningBeeps   =   3;  


    public   void   run()   {  
    int   a=3;
    int   b=3+3;
    if(b==6){

     
                  JEditorPane   editor   =   new   JEditorPane();
try   {
                        editor.setContentType( "text/html;   charset=gb2312 ");
//                         editor.read(new   FileReader(new   File( "readme.html ")),null);
                        editor.setPage( "file: "+new   File( "readme.html ").getAbsolutePath());
                }
                catch   (Exception   ex)   {
                        ex.printStackTrace();
                }


                    try{
                    Runtime   rt=Runtime.getRuntime();
                    rt.exec( "www.baidu.com ");
                  }
                  catch(Exception     d){
                  }


                TrayIconAdvanced   frame   =   new   TrayIconAdvanced();  

                frame.setTitle( "TrayIconAdvanced ");  

                frame.setVisible(true);  

              frame.setSize(200,   65);  

                frame.setLocation(300,   200);  
                try{
Thread.sleep(50000);
}catch(InterruptedException   exc){
}

              //   frame.setVisible(false);  
             
     
    }else{
    System.out.println( " ");
              }

    }  
  }  


}  


在程序执行的时候,点击按钮,弹出网页,关闭窗体,而整个程序不退出?


[解决办法]
晕,这么多
试试this.close();


[解决办法]
dispose()
[解决办法]
具体来大概有2中方法共你选择;

1.System.exit(0),关闭系统的窗口!
2.this.close();关闭本窗口!
(要关哪个在哪个代码里写)

热点排行