一个问题
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Date;
public class TimerTest
{
public static void main(String[] args)
{
javax.swing.Timer mytimer=new javax.swing.Timer(1000,new ActionListener(){
public void actionPerformed(ActionEvent e)
{
Date now=new Date();
System.out.println(now);
Toolkit.getDefaultToolkit().beep();
}
});
mytimer.start();
System.out.println( " a ");
}
}
这个例子我直接运行不见打印时间,用调试能打印时间,但beep()好像没声
[解决办法]
因为mytimer还没起作用时main线程先结束了,也就没法执行代码了,在swing中frame不会结束,就没问题了
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Date;
public class TimerTest
{
public static void main(String[] args)
{
javax.swing.Timer mytimer=new javax.swing.Timer(1000,new ActionListener(){
public void actionPerformed(ActionEvent e)
{
Date now=new Date();
System.out.println(now);
Toolkit.getDefaultToolkit().beep();
}
});
mytimer.start();
try{(new Thread()).sleep(10000);}catch(Exception e){e.printStackTrace();}//坚持10秒钟
System.out.println( " a ");
}
}