0

私は期末試験の復習をしています。これは、形状を 0.5 秒間表示してから 0.5 秒間非表示にする練習問題です。この点滅動作を進めるためにタイマーを使用することを考えています。

Timer count = new Timer(500, someAction)

ただし、この種類のタイマーを開始するには、ActionListener と ActionPerformed が必要です。

アクションなしでタイマーを開始できる方法はありますか?

4

1 に答える 1

4

私はまだ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.TimerSwing コンポーネントと組み合わせて使用​​するのに最適です :-)

于 2013-04-25T08:12:52.573 に答える