2010-11-17 26 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); 
    } 
} 
相关问题