GWT - Как добавить пробел в DockLayoutPanel

Я хочу добавить два виджета к югу от DockLayoutPanel, так что это будет показано так:


центральная панель


пространство высотой 14px


виджет высотой 29 пикселей


Моя проблема: если я использую addSouth(widget, 29); в нем нет места.
Если я использую addSouth(widget, 43); в нем также нет места, но виджет теперь имеет высоту 43 пикселя.
Я думал определить поле виджета как 14px, но это мне не помогает, потому что поле виджета покрывает центральную панель.
Что я должен делать? Я также попытался сделать дважды addSouth, и это дало самый лучший результат, но это также оказалось не так, как ожидалось, и я предпочитаю использовать только один addSouth.

2 ответа

Вы можете попробовать добавить виджет в отдельную панель LayoutPanel, а затем добавить панель на панель док-станции. Внутри LayoutPanel просто укажите пространство сверху.

LayoutPanel panel = new LayoutPanel();
panel.add(widget);
panel.setWidgetLeftRight(widget, 0, Style.Unit.PX, 0, Style.Unit.PX);
panel.setWidgetTopBottom(widget, 14, Style.Unit.PX, 0, Style.Unit.PX);

dockPanel.addSouth(panel, 43);

Установить расстояние между виджетами в DockPanel использование

dockPanel.setSpacing(14);

если вы хотите интервал только для определенного виджета, вы должны использовать CSS или добавить более высокий CellHeight к виджету dockPanel.

dockPanel.setCellHeight(widget1, //widget1.heigth+14px);

разместить виджет внизу ячейки
dockPanel.setCellVerticalAlignment(widget1, HasVerticalAlignment.ALIGN_BOTTOM);


CSS:

.gwt-Label-foo {
    margin-top: 14px;
}

затем добавьте зависимый стиль в ваш виджет (в этом случае Label)widget.addStyleDependentName("foo");

для получения справки смотрите здесь: Добавьте StyleDependetName и здесь: CSS Styling of Widgets

Другие вопросы по тегам