GWT — динамическая замена ‹g:center› DockLayoutPanel в UiBinder

У меня есть этот простой шаблон UiBinder:

<!DOCTYPE ui:UiBinder SYSTEM "http://dl.google.com/gwt/DTD/xhtml.ent">
<ui:UiBinder xmlns:ui="urn:ui:com.google.gwt.uibinder"
    xmlns:g="urn:import:com.google.gwt.user.client.ui">
    <ui:style>

    </ui:style>
  <g:DockLayoutPanel unit="EM">
    <g:north size="10">
      <g:Label>Header</g:Label>
    </g:north>

    <g:center>
      <g:Label ui:field="placeholder"></g:Label>
    </g:center>

    <g:south size="2.5">
      <g:Label>Footer</g:Label>
    </g:south>
  </g:DockLayoutPanel>
</ui:UiBinder>

Что я хотел бы сделать, так это динамически заменять содержимое в <g:center> при изменении состояния приложения. Проблема в том, какой тип поля следует использовать в качестве заполнителя?


person helpermethod    schedule 21.03.2011    source источник


Ответы (1)


Я обычно использую SimplePanel, затем при изменении состояния очищаю простую панель и помещаю в нее новый компонент/виджет. Новый виджет может быть чем угодно: от панели HTML до простой метки или любой из более сложных панелей макета с содержимым.

person Jan Vladimir Mostert    schedule 21.03.2011
comment
Спасибо, звучит как хорошее решение. - person helpermethod; 21.03.2011