我希望 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);
}
}
对于前面的代码片段,什么也没有显示。我缺少一个方法调用吗?
Thanks.
更新 2008 年 9 月 17 日 20:15
我在每一侧放置了一些按钮(明确设置了它们的大小),但这仍然不起作用。我真的很惊讶没有像 FillLayout 类或 setFillLayout 方法或 setDockStyle(DockStyle.Fill) 或类似的东西。也许这是不可能的?但对于像 GWT 这样流行的人来说,我认为这是可能的。
更新 2008 年 9 月 18 日 14:38
我尝试将 RootPanel 宽度和高度设置为 100%,但仍然不起作用。不过还是谢谢你的建议,看来这可能会起作用。还有其他建议吗??
Google 在其常见问题解答之一中回答了您问题的主要部分: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 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
主要的一点是你不能将高度设置为 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);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)