DockLayoutPanel внутри ScrollPanel в GWT
Я использую 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));
но это не сработало. С добавленной ScrollBar для всего appContainer на моей странице отображается только баннер, а остальное - черный.
Спасибо за любую помощь.
2 ответа
Решение
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);
Посмотрите на это
Это простое исправление, я думаю.
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 );