读书人

一个有关问题

发布时间: 2012-01-13 22:43:29 作者: rapoo

一个问题
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 ");
}
}

读书人网 >J2SE开发

热点推荐