我希望在centerlayoutcontainer中有一个固定宽度的面板。并且centerlayoutcontainer应该有滚动条,以便面板始终完全可见。面板周围应有20px的边距,因此固定面板周围有一点空间。我无法完成这项工作,因为滚动条计算不正确。看看我的例子。如果更改对话框的高度以使固定面板比对话框大,则固定面板的左侧不再可见,并且不再可见。
这是一个错误吗?你能告诉我如何才能得到这项工作吗?
我正在使用gwt 2.5.1和gxt 3.0.6。该问题可在每个浏览器中重现。
final Dialog dialog = new Dialog();
dialog.setMaximizable(true);
final BorderLayoutData eastData = new BorderLayoutData(170);
eastData.setMargins(new Margins(0, 0, 0, 5));
eastData.setCollapsible(true);
final MarginData centerData = new MarginData();
final BorderLayoutContainer blcContent = new BorderLayoutContainer();
blcContent.setBorders(true);
final VerticalLayoutContainer vlcCenter = new VerticalLayoutContainer();
vlcCenter.setScrollMode(ScrollMode.AUTO);
final CenterLayoutContainer clcCenter = new CenterLayoutContainer();
final SimpleContainer con = new SimpleContainer();
con.setPixelSize(1322, 762);
final ContentPanel cpCenter = new ContentPanel();
cpCenter.setHeadingHtml("Center");
cpCenter.setPixelSize(1282, 722);
con.add(cpCenter, new MarginData(20));
clcCenter.add(con);
vlcCenter.add(clcCenter, new VerticalLayoutData(1, 1));
final ContentPanel cpEast = new ContentPanel();
cpEast.setHeadingHtml("East");
blcContent.setEastWidget(cpEast, eastData);
blcContent.setCenterWidget(vlcCenter, centerData);
dialog.add(blcContent);
dialog.setPixelSize(Window.getClientWidth() - 100, Window.getClientHeight() - 100);
dialog.show();
Window.addResizeHandler(new ResizeHandler() {
@Override
public void onResize(ResizeEvent event) {
if (dialog.isMaximized()) {
dialog.setPixelSize(Window.getClientWidth(), Window.getClientHeight());
} else {
dialog.setPixelSize(Window.getClientWidth() - 100, Window.getClientHeight() - 100);
}
}
});