Использование UIBinder для создания виджета для перехода в диалог
Я нашел это; который позволяет мне создать виджет в коде: почему размер диалогового окна такой маленький с этой панелью 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 ответа
В DockLayoutPanel вы не должны устанавливать размер для центра. Центр просто берет то, что осталось от других элементов. Кроме этого я не вижу ничего плохого в вашем коде.
Я думаю, что все LayoutPanels нуждаются в непрерывной цепочке LayoutPanels вплоть до RootLayoutPanel. Диалог является "нормальной" панелью, поэтому вы должны явно указать размеры LayoutPanels.
Смотрите раздел " Использование LayoutPanel без RootLayoutPanel " в рецептах LayoutPanel