2013-10-03 12 views
0

взгляд на эту DockPanel http://gwt.googleusercontent.com/samples/Showcase/Showcase.html#!CwDockPanel & это код:Какова логика DockPanel & DockLayoutPanel в GWT? Я запутался

dock.add(new HTML(constants.cwDockPanelNorth1()), DockPanel.NORTH); 
    dock.add(new HTML(constants.cwDockPanelSouth1()), DockPanel.SOUTH); 
    dock.add(new HTML(constants.cwDockPanelEast()), DockPanel.EAST); 
    dock.add(new HTML(constants.cwDockPanelWest()), DockPanel.WEST); 
    dock.add(new HTML(constants.cwDockPanelNorth2()), DockPanel.NORTH); 
    dock.add(new HTML(constants.cwDockPanelSouth2()), DockPanel.SOUTH); 

Это похоже на BorderLayout в Java? или это другое?

Как установить формат, используя DockLayoutPanel в UiBinder для следующей картины: enter image description here Почему они не добавляют Центр? Я смущен, также как установить docklayout для вышеуказанного изображения в UiBinder?

+0

Они добавляют центр, снова посмотрите на пример. – Spiff

ответ

3

Diffrences между DockPanel и DockLayouPanel

DockLayoutPanel

панель, которая лежит его дочерние виджеты из «стыковка» на своих внешних краях, и позволяет его последний виджет занять оставшееся место в своем центре. Этот виджет будет работать только в стандартном режиме, который требует , что страница HTML, в которой она запущена, имеет явную декларацию .

DockPanel

панель, которая лежит его дочерние виджеты из «стыковка» на своих внешних краях, и позволяет его последний виджет занять оставшееся место в его центре. У этого виджета есть ограничения в стандартном режиме, которые не существовали в режиме quirks. Дочерние виджеты, содержащиеся в DockPanel , не могут быть рассчитаны с использованием процентов. Установка высоты дочернего виджета на 100% НЕ приведет к тому, что ребенок заполнит доступную высоту.

Если вам нужно обойти эти ограничения, вместо этого используйте DockLayoutPanel , но поймите, что это не является заменой для этого класса . Он требует стандартного режима, и его наиболее легко использовать под командой RootLayoutPanel (в отличие от RootPanel).

DockLayoutPanel похож на BorderLayout.

Чтобы добавить что-то в центре использования добавить без каких-либо Params:

dockLayoutPanel.add(widget); 

Это займет все оставшееся пространство.

Виджет центра должен быть добавлен последним. В противном случае вы получите исключение.

Макет, который вы хотите создать, не может быть выполнен только с помощью одной DockLayoutPanel.

 Смежные вопросы

  • Нет связанных вопросов^_^