我希望GWT中的一个面板可以填充页面,而不必实际设置大小。有没有办法做到这一点?目前我有以下内容:
public class Main implements EntryPoint
{
public void onModuleLoad()
{
HorizontalSplitPanel split = new HorizontalSplitPanel();
//split.setSize("250px", "500px");
split.setSplitPosition("30%");
DecoratorPanel dp = new DecoratorPanel();
dp.setWidget(split);
RootPanel.get().add(dp);
}
}
使用前面的代码片段,什么也没有显示出来。有没有我遗漏的方法调用?
谢谢。
08年9月17日20:15的更新
我在每边都放了一些按钮(明确地设置了它们的大小),但仍然不起作用。我真的很惊讶没有像FillLayout类、setFillLayout方法或setDockStyle(DockStyle.Fill)之类的东西。也许这是不可能的?但是,尽管GWT如此流行,我认为这是可能的。
08年9月18日14:38更新
我尝试将RootPanel的宽度和高度设置为100%,但仍然不起作用。不过,谢谢你的建议,这看起来似乎是可行的。还有其他的建议吗?
发布于 2009-06-06 02:23:35
谷歌已经在他们的一个常见问题中回答了你问题的主要部分:http://code.google.com/webtoolkit/doc/1.6/FAQ_UI.html#How_do_I_create_an_app_that_fills_the_page_vertically_when_the_b
主要的一点是,你不能将height设置为100%,你必须这样做:
final VerticalPanel vp = new VerticalPanel();
vp.add(mainPanel);
vp.setWidth("100%");
vp.setHeight(Window.getClientHeight() + "px");
Window.addResizeHandler(new ResizeHandler() {
public void onResize(ResizeEvent event) {
int height = event.getHeight();
vp.setHeight(height + "px");
}
});
RootPanel.get().add(vp);
发布于 2012-05-23 23:45:00
本的回答很好,但也是过时的。调整大小处理程序在GWT1.6中是必需的,但我们现在是2.4。您可以使用DockLayoutPanel让您的内容垂直填充页面。请参见使用此面板的sample mail app。
发布于 2008-09-17 19:59:28
我认为你需要在拆分的左边和/或右边放一些东西(split.setLeftWidget(小部件),split.setRightWidget(小部件)或split.add(小部件),它会先向左相加,然后向右相加),才能显示任何内容。
https://stackoverflow.com/questions/86901
复制相似问题