如何更改gwt面板的内容?

时间:2015-11-20 02:19:20

标签: gwt widget

假设我有一个名为A的视图,其xml类似于:

<g:HTMLPanel>
  <my:widgetA>
    ....
  </my:widgetA>
</g:HTMLPanel>

另外,我有另一个名为widgetB的小部件。我想根据某些条件更改视图A的内容,例如:

if (...is true) {
   A.clear();
   A.add(widgetA);
} else {
   A.clear();
   A.add(widgetB);
}

现在问题是视图A无法正确显示widgetA。将widgetA添加到其中时,视图A变为空白。上面的实现有什么问题?

1 个答案:

答案 0 :(得分:1)

您可能正在添加一个实现RequiresResize的小部件,或者至少需要一个固定大小的小部件。

要查明是否是这种情况,只需在该窗口小部件上调用[setSize](http://www.gwtproject.org/javadoc/latest/com/google/gwt/user/client/ui/UIObject.html#setSize(java.lang.String,java.lang.String)),其大小如下:widgetA.setSize('50px','50px);'

如果可行,您需要提供尺寸或使用实施ProvidesResize的面板。