【问题标题】:Wrap GWT Widget into SmartGWT将 GWT 小部件包装到 SmartGWT 中
【发布时间】:2011-06-13 13:32:36
【问题描述】:

我正在使用 SmartGWT TabSet,并希望在选项卡中显示来自使用 GWT 开发的其他项目的小部件。

简而言之:

我想将com.google.gwt.user.client.ui.Widget 添加到com.smartgwt.client.widgets.tab.Tab

setPane() 但是只需要一个 Canvas。

有没有办法将 GWT 开发的 Widget 绑定到 SmartGWT 选项卡中?

我尝试将小部件转换为画布,例如:

Canvas c = new Canvas();
c.addChild(w);
tab.setPane(c);

但是这会引发以下异常:

Uncaught JavaScript exception [uncaught exception: 
    java.lang.AssertionError: A widget that has an existing parent widget may not be added to the detach list] in

谢谢!

【问题讨论】:

    标签: java javascript gwt


    【解决方案1】:

    看起来您需要使用 Canvas 的子类之一作为单个选项卡的布局。可能使用Layout and addMember(Widget) 的东西。

    Layout layout = new VStack();
    layout.addMember(w);
    tab.setPane(layout);
    

    查看VStack 和/或DynamicForm 了解一些想法。也可以在the showcase查看代码。

    祝你好运。

    【讨论】:

    • 不 - 这不起作用 - 尝试了一段时间各种组合 似乎将 GWT 组件嵌入 SmartGWT 选项卡中存在一些问题。我什至下载了 SmartGWT 的 nightlybuild。
    • 有趣 - 我实际上想出了如何摆脱这个非常奇怪的问题(由于缺乏理解而猜测)。我刚刚删除:RootPanel.get().add( xx );
    • 我在你的代码中没有看到。 RootPanel.get().add() 在哪里?您是否使用它来添加小部件?如果是这样,那么它被添加了两次。
    【解决方案2】:

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-02-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多