2011-12-20 76 views
1

是否可以僅在某個gwt選項卡或該選項卡中的某個面板中顯示彈出窗口? 我發現了在整個頁面上顯示彈出窗口的方法,但不僅限於特定的選項卡。 當你切換gwt選項卡時,彈出窗口不再可見,並且應該可以創建新的彈出窗口,這隻能在切換到gwt選項卡時才能看到。切換回其他選項卡,然後應再次顯示第一個彈出窗口。在gwt選項卡中顯示彈出框/窗口

可選地,該選項卡的其餘部分(不包含在彈出窗口中)不應該是可點擊的。

這是否有任何本地方法? gwt Popup Panel似乎只爲整個頁面創建彈出窗口。

編輯:我試過使用smartgwts窗口,這似乎工作只是我想要的方式。當我切換gwt-tab時,彈出窗口不再可見,並在切換回時返回。唯一的問題是,它沒有正確顯示。該框架位於瀏覽器選項卡的最左側,而內容顯示在gwt-tab的最左側。如果我移動內容,框架也會移動。該框架在整個瀏覽器選項卡上都可見,而如果我通過gwt-tab邊緣將內容拖放,內容將消失。 我想這是因爲我正在向gwt-Panel添加一個窗口。有沒有什麼方法可以解決這個問題,而無需將所有內容都更改爲smartgwt?

+0

我也在想這個 – 2011-12-20 13:03:16

回答

2

不完全,我想。

但是,您可以在選項卡事件中執行某些操作,例如隱藏它不屬於的選項卡中的彈出窗口。爲了避免節目的滯後/隱藏彈出,您可以在BeforeSelectionHandler做到這一點,是這樣的:

getView().getTabPanel().addBeforeSelectionHandler(new BeforeSelectionHandler<Integer>() 
     { 
      @Override 
      public void onBeforeSelection(BeforeSelectionEvent<Integer> event) 
      { 
       showPopupupsForTab(event.getItem()); 
      } 
     }); 

在showPopupupsForTab您可以顯示彈出窗口此選項卡(可以與地圖或東西處理這個)並隱藏其他人...

就像這樣。 希望它有幫助。

+0

謝謝,我也想過類似的東西,但希望有一個不同的甚至本地的解決方案。 – 2011-12-20 19:55:00

+0

我相信不...但是,如果你發現了什麼,讓我知道:) – caarlos0 2011-12-20 20:19:17