GWT: Как добавить DockLayoutPanel внутрь другой панели? Не RootLayoutPanel

Можно ли добавить DockLayoutPanel внутри другой панели, отличной от RootLayoutPanel? Если да, то как бы вы это сделали? Я попытался добавить его в HTMLPanel, и он отображается только к северу от DockLayoutPanel. Затем я попробовал это внутри LayoutPanel, но снова не получилось.

Я думал, что это сработает для LayoutPanel, потому что RootLayoutPanel является подклассом LayoutPanel.

Приветствуются любые ответы. Спасибо,


person Wen    schedule 08.01.2012    source источник
comment
выдает ошибку или просто ничего не показывает на экране?   -  person Stefan    schedule 08.01.2012
comment
Привет, Стефан, ошибки не было, отображается только северная панель. Благодаря Томасу Бройеру, я понял это сейчас. Это было связано с тем, что HTMLPanel не реализует ProvidesResize, и я явно не задавал размер DockLayoutPanel, поэтому отображалась только северная панель.   -  person Wen    schedule 22.01.2012


Ответы (1)


DockLayoutPanel — это виджет RequiresResize, поэтому либо вы помещаете его внутрь виджета ProvidesResize (любая так называемая панель макета), либо задаете ему явный размер.

См. раздел Использование LayoutPanel без RootLayoutPanel в http://code.google.com/webtoolkit/doc/latest/DevGuideUiPanels.html#Recipes

person Thomas Broyer    schedule 08.01.2012
comment
У меня есть макет с DockLayoutPanel, где в центре есть HTMLPanel в качестве контейнера для содержимого. Однако содержимое также является DockLayoutPanel, определенным в UiBinder другого класса представления. Как добавить это программно? Я могу добавить другое содержимое, но для DockLayoutPanel отображается только северная панель. - person Wen; 16.01.2012
comment
HTMLPanel не может ProvidesResize для внутренней DockLayoutPanel, поэтому вы должны явно установить размер этой панели. - person Thomas Broyer; 17.01.2012