2012-06-06 74 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它可以讓你在安排將來的任務。

正如托馬斯Broyer在評論中提到的,你也可以使用com.google.gwt.core.client.Scheduler#scheduleFixedDelay()RepeatingCommand總是返回false,以表明它應該只執行一次。

+0

或者使用'com.google.gwt.core.client.Scheduler';主要區別在於'Timer'可以被取消,而不是'ScheduledCommand'。 –

+0

@ThomasBroyer儘管對於非重複性任務,您將如何使用具有固定延遲的調度程序?包含延遲的兩種方法的javadoc適用於重複任務。 – ftr

+0

啊,對!您可以使用'RepeatingCommand'作爲等同於'ScheduledCommand'的參數,無條件返回'false'。 –

相關問題