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("");
       }  } 
 } } 
在程序执行的时候,点击按钮,弹出网页,关闭窗体,而整个程序不退出?

解决方案 »

  1.   

    晕,这么多
    试试this.close();
      

  2.   

    this.close();
       TrayIconAdvanced.java:114: 找不到符号
    符号: 方法 close()
                   this.close();
    dispose();
      也是关不掉窗体;和原来的一样;
      

  3.   

    具体来大概有2中方法共你选择;1.System.exit(0),关闭系统的窗口!
    2.this.close();关闭本窗口!
    (要关哪个在哪个代码里写)