为什么这个GWT DialogBox不是它的两个按钮?

时间:2012-11-30 17:52:57

标签: java gwt dialog

我希望setHorizo​​ntalAlignment将我的两个按钮从左边移动到中间。知道为什么这不起作用吗?所有相关代码都在下面并且相当简单。

enter image description here

public void onClick(ClickEvent event) {
            final DialogBox deleteDialog = new DialogBox();
            deleteDialog.setModal(false);
            deleteDialog.setGlassEnabled(true);

            HorizontalPanel buttonPane = new HorizontalPanel();
            buttonPane.setHorizontalAlignment(HasHorizontalAlignment.ALIGN_RIGHT);

            buttonPane.add(deleteDialogOKButton);
            buttonPane.add(deleteDialogCancelButton);

            deleteDialog.center();      

            deleteDialog.add(buttonPane);       
            deleteDialog.setText("Delete this Station?");

            deleteDialogOKButton.addClickHandler(new ClickHandler() {
                public void onClick(ClickEvent event) {
                    stationService.deleteStation(station, new DeleteStationCallback());
                    deleteDialog.hide();
                }});

            deleteDialogCancelButton.addClickHandler(new ClickHandler() {
                public void onClick(ClickEvent event) {
                    deleteDialog.hide();
                }});

            deleteDialog.show();
            //stationService.deleteStation(station, new DeleteStationCallback());
        }
    }

1 个答案:

答案 0 :(得分:2)

如果不为水平面板指定任何宽度,则会占用其内容宽度的总和。所以HasHorizontalAlignment.ALIGN_RIGHTHasHorizontalAlignment.ALIGN_LEFT或任何其他对齐并不重要,因为它适合给定区域。尝试设置以下内容,

buttonPane.setwidth(100%);
buttonPane.setHorizontalAlignment(HasHorizontalAlignment.ALIGN_CENTRE);

如果这也不起作用,则必须使用API​​

设置单元格对齐
setCellHorizontalAlignment(Widget w,HasHorizontalAlignment.HorizontalAlignmentConstant align);
相关问题