使用gxt3的BorderLayoutContainer时,排列布局是不正确的

时间:2013-12-23 05:27:56

标签: java gwt layout gxt

我面临着不同的问题,每当我试图调整窗口内容的大小时,它都没有调整大小。我也尝试过Resize Handler方式。

正如我们所看到的,SnapshotChooserView和RunLogGrid有两个组件,我已经使它可以折叠。 因此,当我使SnapshotChooserView折叠时,所有空间都应该由RunLogGrid占用,当我对RunLogGrid进行协作时,所有其他空间都应该被SnapshotChooserView占用。

任何人都可以帮忙解决这个问题。

public class RunView implements IsWidget {

// Client factory
private ClientFactory iClientFactory;

// Main Container
private BorderLayoutContainer borderLayoutContainer;

// Components
private SnapshotChooserView snapshotChooserView;

// Components
private RunLogGrid runLogGrid;

ContentPanel north;

ContentPanel south;

ResizeHandler handler1;

ResizeHandler handler2;

// ---- CONSTRUCTORS ----

public RunView() {
}

public RunView(ClientFactory aClientFactory) {

    iClientFactory = aClientFactory;


    borderLayoutContainer = new BorderLayoutContainer();
    borderLayoutContainer.setBorders(true);

    snapshotChooserView = iClientFactory.getSnapshotChooserView();
    runLogGrid = new RunLogGrid(iClientFactory);

    final double SnapshotChooserHeight = 500;
    final int RunLogGridHeight = 350;

    handler1 = new ResizeHandler(){
        @Override
        public void onResize(ResizeEvent event) {
            north.setWidth(event.getWidth());
            north.setHeight(event.getHeight());
        }
    };

    handler2 = new ResizeHandler(){
        @Override
        public void onResize(ResizeEvent event) {
            south.setWidth(event.getWidth());
            south.setHeight(event.getHeight());
        }
    };

    north = new ContentPanel();
    north.setHeadingText("Run Details");
    north.add(snapshotChooserView.asWidget());
    north.setCollapsible(true);
    north.setResize(true);
    north.addResizeHandler(handler1);
   // north.forceLayout();

    south = new ContentPanel();
    south.setHeadingText("Run Log Info");
    south.add(runLogGrid.asWidget());
    south.setCollapsible(true);
    south.setResize(true);
    south.addResizeHandler(handler2);
   // south.forceLayout();

    BorderLayoutData northData = new BorderLayoutData(SnapshotChooserHeight);
    northData.setMargins(new Margins(2, 2, 2, 2));
    //northData.setCollapsible(true);
    //northData.setSplit(true);
    //northData.setCollapsed(true);
    //northData.setCollapseMini(true);


    BorderLayoutData southData = new BorderLayoutData(RunLogGridHeight);
    southData.setMargins(new Margins(2, 2, 2, 2));
    //southData.setCollapsible(true);
    //southData.setMinSize(RunLogGridHeight);
    //southData.setMaxSize(850);
    //southData.setSplit(true);
    //southData.setCollapseMini(true);

// borderLayoutContainer.addResizeHandler(handler1);    // borderLayoutContainer.addResizeHandler(handler2);

    borderLayoutContainer.setNorthWidget(north, northData);
    borderLayoutContainer.setSouthWidget(south, southData);

}

/*
 * @see RunLogGrid::TriggerGridReload
 */
public void triggerRunGridRefresh() {      
    runLogGrid.triggerGridReload();
}

/*
 * (non-Javadoc)
 * 
 * @see com.google.gwt.user.client.ui.IsWidget#asWidget()
 */
@Override
public Widget asWidget() {
    return borderLayoutContainer;
}

}

0 个答案:

没有答案