我面临着不同的问题,每当我试图调整窗口内容的大小时,它都没有调整大小。我也尝试过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;
}
}