我正在为期末考试复习,这是一个练习题,要求我让一个形状可见半秒,然后不可见半秒。我正在考虑使用计时器来进行这种闪烁行为。
Timer count = new Timer(500, someAction)
但是这种定时器需要一个 ActionListener 和一个 ActionPerformed 才能启动这个定时器。
无论如何我可以在没有任何动作的情况下启动计时器吗?
我仍然认为Timer
解决方案是完美的
Timer timer = new Timer( 500, new ActionListener(){
@Override
public void actionPerformed( ActionEvent e ){
//toggle visible flag of the shape
//trigger a repaint
}
} );
timer.setRepeats( true );
timer.start();
请注意,您可以安全地调整形状的可见标志(将在绘制期间使用),因为Timer
它将ActionListener
在 EDT 上调用。的主要优点之一javax.swing.Timer
,非常适合与 Swing 组件结合使用:-)