Использование UIBinder для создания виджета для перехода в диалог - PullRequest
1 голос
/ 05 августа 2011

Я нашел это;что позволяет мне создавать виджет в коде: Почему размер диалогового окна настолько мал с этой панелью GWT DockLayoutPanel?

, но я хочу использовать UIBinder.

когда я использую его, я получаю виджет, занимающий бесконечное пространство и висящий под заголовком диалогового окна.(явно не то, что я хочу)

например:

код UIBinder:

<g:DockLayoutPanel unit='EM'>
  <g:north size='4'>
    <g:Label>Header</g:Label>
  </g:north>

  <g:west size='8'>
    <g:Label>Navigation</g:Label>
  </g:west>

  <g:center size="10">
    <g:ScrollPanel>
      <g:Label>Content Area</g:Label>
    </g:ScrollPanel>
  </g:center>
</g:DockLayoutPanel>

и если виджет называется WizardPanel;

тогдакод был бы:

Dialog mydialog = new Dialog();
mydialog.add(new WizardPanel);
mydialog.show();

Я также пытался вставить строку:

WizardPanel wp = new WizardPanel();
wp.setSize("100em", "100em");

перед добавлением ее в mydialog, это не имеет никакого значения.

Возможно, я захочу использовать LayoutPanel;но сейчас DockLayoutPanel кажется достаточным.

спасибо!

Ответы [ 2 ]

1 голос
/ 05 августа 2011

В DockLayoutPanel вы не должны устанавливать размер для центра.Центр просто берет то, что осталось от других элементов.Кроме этого я не вижу ничего плохого в вашем коде.

0 голосов
/ 05 августа 2011

Я думаю, что всем LayoutPanels нужна непрерывная цепочка LayoutPanels вплоть до RootLayoutPanel. Диалог является «нормальной» панелью, поэтому вы должны явно указать размеры LayoutPanels.

См. Раздел « Использование LayoutPanel без RootLayoutPanel » в LayoutPanel Рецепты

...