Java 如何调整GXT中FramePanel的显示大小?

Java 如何调整GXT中FramePanel的显示大小?,java,gwt,gxt,Java,Gwt,Gxt,我想用VerticalPanel填充框架面板。 所以我指定垂直面板和框架面板的高度和宽度为100%。 然而,结果与预期结果不同 如何在GXT中调整FramePanel的显示大小?有几件事需要注意: 1如果您希望框架面板占据verticalPanel的100%,那么为什么要使用verticalPanel 2不要将GWT小部件与GXT小部件一起使用。GXT提供了几个小部件,可以轻松帮助您布局UI。是指向GXT布局容器的链接 3如果要使用VerticalPanel,请使用VerticalLayoutC

我想用VerticalPanel填充框架面板。 所以我指定垂直面板和框架面板的高度和宽度为100%。 然而,结果与预期结果不同


如何在GXT中调整FramePanel的显示大小?

有几件事需要注意:

1如果您希望框架面板占据verticalPanel的100%,那么为什么要使用verticalPanel

2不要将GWT小部件与GXT小部件一起使用。GXT提供了几个小部件,可以轻松帮助您布局UI。是指向GXT布局容器的链接

3如果要使用VerticalPanel,请使用VerticalLayoutContainer

public class View implements IsWidget, EntryPoint {

    @Override
    public void onModuleLoad() {
        // TODO Auto-generated method stub
        RootPanel.get().add(asWidget());
    }

    @Override
    public Widget asWidget() {
        // TODO Auto-generated method stub

        VerticalPanel vp = new VerticalPanel();
        FramedPanel cp = new FramedPanel();
        vp.setBorderWidth(1);
        vp.setWidth("100%");
        vp.setHeight("100%");
        cp.setWidth("100%");
        cp.setHeight("100%");
        vp.add(cp);

        return vp;
    }
它提供了100%的可用宽度和高度。看见在getHeight或getWidth部分中


使用setResizetrue;如果您希望框架面板调整自身大小,请至少在GXT 3之后使用GWT小部件和GXT小部件。也就是说,VerticalPanel根据其子对象调整自身大小,而VerticalayoutContainer则根据其子对象调整大小。我想添加另一个链接来回顾。@Colin Alworth:我记得在我使用GXT 3.0.1时,你说过我要使用GXT小部件。可能是它在GXT 2中的3.1之后发生了变化,这几乎肯定是正确的。在GXT 3中,3.0和3.1都可以混合搭配,但请注意,GWT小部件可能没有达到您实际的目的-在这种情况下,VerticalPanel没有达到用户想要的效果,因此切换到GXT类更好。但是如果他们真的希望VerticalPanel的大小调整行为适合其子级,而不是调整子级的大小以适应空间,那么就没有理由不使用VerticalPanel。如果你想对布局做任何事情,GWT自己的布局面板类可以工作,尽管数量不多,功能也不是很强大,否则,只需使用GXT的布局容器。在这方面,你的建议是100%正确的。感谢你的回答。我通过对你的回答解决了这个问题。
VerticalLayoutContainer vlc = new VerticalLayoutContainer();
vlc.add(cp,new VerticalLayoutData(1,1));