2010-11-17 25 views
2

我的應用程序使用複合材料,所以當前GWT 2.1 MVP示例跟蹤SimplePanels不適用於我。有沒有人有GWT 2.1 CompositePlace的例子?

Google says我總是可以創建自己的CompositePlace,CompositeActivity和CompositePlace.Tokenizer,但是......鑑於我的技能水平,我有點不情願去那麼多未知領域。

是否有任何GWT的大師有我的工作示例?

感謝

+0

他們對CompositePlace觀念等,是當你有導航的多層次的 - 當你的地方是做出來Composite's的'不適合。嘗試使用爲SimplePanels交換的複合材料編寫代碼。 – 2010-11-18 02:22:09

+0

是的,但是當我這樣做時,例如:activityManager.setDisplay(compositeWidget),我得到以下錯誤:類型ActivityManager中的方法setDisplay(AcceptsOneWidget)不適用於參數(compositeWidget) – 2010-11-18 03:00:42

+0

我的理論是com。 google.gwt.activity.shared.ActivityManager.setDisplay(AcceptsOneWidget顯示)函數不接受複合材料 – 2010-11-18 03:05:55

回答

1

我發現了一個blog from "Heros"是有答案的我。

原來的訣竅是擴展LayoutPanel並實現AcceptsOneWidget接口。

然後您可以將任何LayoutPanel傳遞給setWidget函數。

下面是完整的代碼:

public class OneWidgetLayoutPanel extends LayoutPanel implements AcceptsOneWidget { 
    private IsWidget widget = null; 

    @Override 
    public void setWidget(IsWidget w) { 
      if(widget != null) super.remove(widget); 
      widget = w; 
      if(w != null) super.add(w); 
    } 
} 
相關問題