我正在使用GWT 2.4。我想使用StackLayoutPanel小部件构造内容部分。但是,我无法垂直调整小部件的大小以占用尽可能多的空间。我发现了
p.setHeight("100%");
实际上并没有做任何事情。有没有人有任何建议来计算StackLayoutPanel的正确高度,以便它占用尽可能多的空间但不是更多?这是我正在使用的代码......
final StackLayoutPanel p = new StackLayoutPanel(Unit.EM);
p.setHeight("100%");
int i=0;
for (final Node node : nodes) {
if (node != null) {
final Widget childWidget = getWidget(node.getChildren());
if (childWidget != null) {
final String sectionTitle = node.getAttributes().get(NAME_ATTR) != null ? node.getAttributes().get(NAME_ATTR).getValue() : "Section " + (i+1);
p.add(childWidget, sectionTitle, 2);
} // if
} // if
i++;
} // for
return p;
这是最终调用StackLayoutPanel的代码。请注意,父窗口小部件“ScrollPanel”设置height =“100%”,但这对使StacklayoutPanel填满其所有空间没有影响。
final ScrollPanel childpanel = new ScrollPanel();
childpanel.setHeight("100%");
// Below, a StackLayoutPanel is returned as the child widget
final Widget childWidget = xmlToHtmlService.getWidget(tabNode.getChildren());
childpanel.add(childWidget);
谢谢, -
答案 0 :(得分:0)
确定任意类型的LayoutPanel
大小的最佳方法是add
它与另一个LayoutPanel
并从父面板设置其大小。直接设置大小永远不会像我想要的那样。
这与其他GWT小部件完全不同,只是想添加和调整大小。您可以在http://code.google.com/webtoolkit/doc/latest/DevGuideUiPanels.html#LayoutPanels了解相关信息。
有很多关于LayoutPanel
的了解。但是,一旦你正确设置它们,它们使用起来非常自然,你可以用它们做很多精确的布局。