GWT中ScrollPanel内的DockLayoutPanel

时间:2013-02-24 23:41:15

标签: java gwt scroll docklayoutpanel

我正在使用GWT 2.4,我在为我的应用设置正确的滚动条设置问题。当我尝试缩放页面时 - 现在不显示整个页面的滚动条。

目前我的应用程序由DockLayoutPanel组成,并以下列方式显示:

private DockLayoutPanel appContainer = new DockLayoutPanel(Style.Unit.PX);
(...)
appContainer.addNorth(bannerSimplePanel, 104);
appContainer.addWest(menuSimplePanel, 200);
appContainer.add(new ScrollPanel(contentSimplePanel));

RootLayoutPanel.get().add(appContainer);

我希望为整个页面配置滚动条,而不是仅为页面的“主要内容”(contentSimplePanel)配置滚动条。我试图将滚动条添加到最后一步:

RootLayoutPanel.get().add(new ScrollBar(appContainer));

但它不起作用。通过为整个appContainer添加ScrollBar,仅在我的页面上显示横幅,其余为黑色。

感谢您的帮助。

2 个答案:

答案 0 :(得分:6)

Adding   DocklayoutPanel to a ScrollPanel won't work. The inner layout
panel's height and width will be zero. 

使用

dockLPanel.getWidgetContainerElement(flowPanel).getStyle().setOverflowY(Overflow.AUTO); 

看看这个

https://groups.google.com/forum/?fromgroups=#!topic/google-web-toolkit/BnboxugPuJQ

答案 1 :(得分:0)

我想这是一个简单的修复。

ScrollPanel sp = new ScrollPanel();
sp.setSize( "100%", "100%" );

private DockLayoutPanel appContainer = new DockLayoutPanel( Style.Unit.PX );
appContainer.addNorth( bannerSimplePanel, 104 );
appContainer.addWest( menuSimplePanel, 200 );
appContainer.add( contentSimplePanel );

sp.add( appContainer );
RootLayoutPanel.get().add( sp );