Я пытаюсь реализовать простое диалоговое окно. Я хотел бы иметь OK и кнопки отмены, выровненные по правому краю у основания диалогового окна. Я встраиваю кнопки в HorizontalPanel и пытаюсь установить выравнивание по горизонтали для ИСПРАВЛЕНИЯ. Однако это не работает. Как заставить кнопки выровнять по правому краю?Спасибо. Вот отрывок:
private Widget createButtonsPanel() {
HorizontalPanel hp = new HorizontalPanel();
hp.setCellHorizontalAlignment(saveButton, HasHorizontalAlignment.ALIGN_RIGHT);
hp.setCellHorizontalAlignment(cancelButton, HasHorizontalAlignment.ALIGN_RIGHT);
hp.add(saveButton);
hp.add(cancelButton);
return hp;
}
Смысл в том, чтобы вызвать setHorizontalAlignment
before adding your buttons as показано ниже:
final HorizontalPanel hp = new HorizontalPanel();
final Button saveButton = new Button("save");
final Button cancelButton = new Button("cancel");
// just to see the bounds of the HorizontalPanel
hp.setWidth("600px");
hp.setBorderWidth(2);
// It only applies to widgets added after this property is set.
hp.setHorizontalAlignment(HasHorizontalAlignment.ALIGN_RIGHT);
hp.add(saveButton);
hp.add(cancelButton);
RootPanel.get().add(hp);
Если вы хотите, чтобы ваши кнопки были плотно соединены - поместите их обе в какой-нибудь новый контейнер, и они поместят контейнер внутрь правой горизонтальной панели
.Возможно, вы захотите использовать Firebug для проверки расширений самой HorizontalPanel. Вам может понадобиться
hp.setWidth("100%");
HorizontalPanel, как правило, размещается в соответствии с содержимым, поэтому если вы поместите в него пару кнопок, то он останется выровненным, так как сама таблица не расширяется.
. Вы также можете использовать setCellHorizontalAlignment
на панели, которая содержит HorizontalPanel
. Это то, что я делаю.
// doesn't necessarily have to be a vertical panel
VerticalPanel container = new VerticalPanel();
HorizontalPanel buttons = new HorizontalPanel();
// add the buttons
container.add(buttons);
container.setCellHorizontalAlignment(buttons, HasHorizontalAlignment.ALIGN_RIGHT);
Попробуйте сначала добавить кнопки, а затем вызвать hp.setHorizontalAlignment("ваше соединение здесь")
.
Удачи!
.Я нашел пример для выравнивания кнопок: http://gwt.google.com/samples/Showcase/Showcase.html#CwDialogBox