2011-11-09 8 views

答えて

16

Timer.schedule

スケジュールタイマーは、将来的に経過します。

例えば:

Timer t = new Timer() { 
    public void run() { 
    Window.alert("Nifty, eh?"); 
    } 
}; 

// Schedule the timer to run once in 5 seconds. 
t.schedule(5000); 
+0

ありがとうございました – ravi

4

あなたはSchedulerクラスのメソッドをご覧ください。固定周期(コマンドが完了してからnミリ秒を待つ)、または1回限りの遅延コマンドで、一定の周期性でコマンドをスケジュールすることができます(nミリ秒ごとに1回)。

このクラスのメソッドは、Timer.scheduleよりも優れています。これらのメソッドは、コマンドの呼び出し時に柔軟性があり、自分でコードを作成する必要があるためです。

+0

...しかし、ScheduledCommandではなく、タイマーをキャンセルまたは再スケジュールすることができます。 –

0

定型的なコードを削除するには、私は(上記GWT 2.8以上が必要です)、このメソッドを作った:

import com.google.gwt.user.client.Command; 
import com.google.gwt.core.client.Scheduler; 

public static void delay(int delayMs, Command afterDelay) { 
    Scheduler.get().scheduleFixedDelay(
     () -> { 
      afterDelay.execute(); 
      return false; 
     }, 
     delayMs); 
} 

ですから、今、ちょうどこの(例:その後、2秒の遅延、およびMyMethodはを呼び出す):行うことができます

delay(2000,() -> myMethod()); 

簡単です。 :-)

関連する問題