2012-06-06 10 views
7

私は小さなGWTアプリケーション、ここで私が成功した場合にポップアップを表示していますがありGWT:私はポップアップを表示した後、数秒間の遅延を入れることができます

  if(success){ 
       DescoratedPopupPanel popup = new DecoratedPopupPanel(); 
       popup.show(); 
       //Now here i want to wait for like 5 secs and then 
       popup.hide(); 
      } 

私は前に5秒のdealayを置くことができますどのように任意のアイデア

答えて

19

は、5秒の遅延を生成するためにタイマを使用するコードである:

 final DecoratedPopupPanel popup = new DecoratedPopupPanel(); 
     popup.show(); 
     // Now here i want to wait for like 5 secs and then 
     Timer timer = new Timer() 
     { 
      @Override 
      public void run() 
      { 
       popup.hide(); 
      } 
     }; 

     timer.schedule(5000); 
5

あなたが将来的にタスクをスケジュールすることができますcom.google.gwt.user.client.Timerを使用することができます

おかげでポップアップを非表示にします。

コメントでThomas Broyerが言及しているように、RepeatingCommandcom.google.gwt.core.client.Scheduler#scheduleFixedDelay()を使用すると、常にfalseを返して一度だけ実行する必要があることを示します。ここ

+0

か 'com.google.gwt.core.client.Scheduler'を使用します。主な違いは、 'Timer'を' ScheduledCommand'ではなくキャンセルできることです。 –

+0

@ThomasBroyer繰り返しのないタスクに対して固定ディレイでスケジューラを使う方法はありますか?遅延が含まれている2つのメソッドのjavadocは、正しく表示されていればタスクを繰り返すためのものです。 – ftr

+0

ああ、そうです! 'ScheduledCommand'と同じように、無条件に' false'を返す 'RepeatingCommand'を使うことができます。 –

関連する問題