如何更改 gwt 面板的内容?
How to change the content of a gwt panel?
假设我有一个名为 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);
}
现在的问题是view A无法正确显示widgetA。向其中添加 widgetA 时,视图 A 变为空白。上面的实现有什么问题?
您可能要添加一个实现 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.
的面板
假设我有一个名为 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);
}
现在的问题是view A无法正确显示widgetA。向其中添加 widgetA 时,视图 A 变为空白。上面的实现有什么问题?
您可能要添加一个实现 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.
的面板