Gwt 在GXT中调整南北集装箱布局大小
我试图创建一个简单的页面示例,上面有一个菜单栏,底部有一个BorderLayoutContainer。我不知道如何让底部自动适应剩余的尺寸 我有这样的想法:Gwt 在GXT中调整南北集装箱布局大小,gwt,extjs,gxt,Gwt,Extjs,Gxt,我试图创建一个简单的页面示例,上面有一个菜单栏,底部有一个BorderLayoutContainer。我不知道如何让底部自动适应剩余的尺寸 我有这样的想法: public void onModuleLoad() { MenuBar mbar = new MenuBar(); // Add menus... BorderLayoutContainer blc = new BorderLayoutContainer(); // Create borderlayout
public void onModuleLoad() {
MenuBar mbar = new MenuBar();
// Add menus...
BorderLayoutContainer blc = new BorderLayoutContainer();
// Create borderlayout parts...
NorthSouthContainer mainCon = new NorthSouthContainer();
mainCon.addNorthWidget(mbar);
mainCon.addSouthWidget(blc);
ViewPort vp = new ViewPort();
vp.add(mainCon);
RootPanel.get().add(vp);
}
菜单栏显示正确,但底部(BorderLayoutContainer)已完全挤压。如果我只是将BorderLayoutContainer添加到视口中,它将正确显示,即填充整个屏幕
为什么大小不能从NorthSouthContainer的南部传递到BorderLayoutContainer。还是发生了什么事?几周前我也遇到过同样的问题。这似乎是GXT中的一个bug,在某些地方小部件的css没有被正确地注入。如您所知,north和southwidget从父容器获取其高度属性。通过将样式属性传递给内部小部件,可以避免此错误,如下所示:
mbar.getElement().getStyle().setProperty("height", "50%");
blc.getElement().getStyle().setProperty("height", "50%");
当然,我知道这不是一个真正干净的解决方案,但它是一种可能性。如果希望完全访问解决方案,则需要在BorderLayoutContainer中实现自己的外观。呸…我也有同样的问题。作为一种解决方法,如果您将south小部件包装到另一个Viewport实例中,它将使用GXT 3.1.1为我工作。这是一个官方错误。您可以尝试使用VerticalLayoutContainer,如下所示-
VerticalLayoutContainer vlc = new VerticalLayoutContainer();
vlc.add(mBar,new VerticalLayoutData(1,-1));
vlc.add(blc,new VerticalLayoutData(1,1));
请参阅此处的详细信息您使用的是哪个版本的GXT?