你的主线程退出了,Timer子线程还怎么执行呢?

解决方案 »

  1.   

    import javax.swing.*;
    import java.awt.event.*;
    public class E0802
    {
    private static Timer timer;
    public final static int ONE_SECOND = 1000;
    public static void main(String args[])
    {

    ActionListener taskPerformer =new ActionListener() 
    {
    public void actionPerformed(ActionEvent evt) 
    {

    System.out.println("heeh");
    }
    };
    System.out.println("设置的时间是:");
    timer=new Timer(ONE_SECOND,taskPerformer);
    timer.start();
    try{
    Thread.sleep(10000);
    }catch(Exception e){}
    }
    };
      

  2.   

    import javax.swing.*;
    import java.awt.event.*;
    public class E0802
    {
    private static Time5 t5;
    private static Timer timer;
    public final static int ONE_SECOND = 1000;
    public static void main(String args[])
    {
    t5=new Time5();
    t5.setHour(12);
    t5.setMinute(34);
    t5.setSecond(56);
    ActionListener taskPerformer =new ActionListener() 
    {
    public void actionPerformed(ActionEvent evt) 
    {
    t5.increaseSecond(1);
    System.out.println(t5.to_String());
    }

    System.out.println("设置的时间是:"+t5.to_String());
    timer=new Timer(ONE_SECOND,taskPerformer);
    timer.start();
                     }
    }
    }
      

  3.   

    种田硬手:你用了Thread.sleep(10000),如果我要它一直执行下去,直到我手动停止,怎么办呢?
      

  4.   

    那你就在sleep的地方改成判断咯。不用sleep