Возможно, я не искал правильный путь, но я не могу понять, как мне центрировать элемент с помощью панелей компоновки GWT.
Я использую UiBinder и перепробовал все панели, которые реализуют HasVerticalAlignment (DockPanel, HorizontalPanel, VerticalPanel). Ни один из них, кажется, не имеет никакого влияния от установки вертикального выравнивания (или даже горизонтального). Я удостоверился, что они принимают 100% ширину и высоту, проверил полученную структуру DOM из моего браузера, и, похоже, ничего не изменилось из этих свойств.
Соответствующий экстракт UiBinder (без дополнительных элементов стыковки):
<g:DockLayoutPanel>
<g:center>
<g:HorizontalPanel width="100%" height="100%" >
<g:FlexTable ui:field="homeData" />
</g:HorizontalPanel>
</g:center>
</g:DockLayoutPanel>
Быстрое и грязное исправление, которое я выяснил, заключается в создании моего собственного виджета "CenterPanel", который по сути является оберткой вокруг HTMLPanel с таблицей HTML с ячейкой valign = "middle". Тем не менее, это в основном похоже на возврат к классическим проблемам центрирования css-layout. Конечно, у GWT есть что-то, что я полностью упустил из виду?