私は期末試験の復習をしています。これは、形状を 0.5 秒間表示してから 0.5 秒間非表示にする練習問題です。この点滅動作を進めるためにタイマーを使用することを考えています。
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();
が EDT でTimer
を呼び出すときに、シェイプの可視フラグ (ペイント中に使用される) を安全に調整できることに注意してください。ActionListener
の主な利点の 1 つは、javax.swing.Timer
Swing コンポーネントと組み合わせて使用するのに最適です :-)