Java 为什么';这个GWT对话框是否将两个按钮居中?

Java 为什么';这个GWT对话框是否将两个按钮居中?,java,gwt,dialog,Java,Gwt,Dialog,我希望setHorizontalAlignment将我的两个按钮从左边移到中间。你知道为什么这样不行吗?下面是所有相关代码,非常简单 public void onClick(ClickEvent event) { final DialogBox deleteDialog = new DialogBox(); deleteDialog.setModal(false); deleteDialog.setGlassEnabled(

我希望setHorizontalAlignment将我的两个按钮从左边移到中间。你知道为什么这样不行吗?下面是所有相关代码,非常简单

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());
        }
    }


当您不为水平面板指定任何宽度时,它将占用其内容宽度的总和。因此,
hashorizontallignment.ALIGN_RIGHT
hashorizontallignment.ALIGN_LEFT
或任何其他对齐方式都不重要,因为其安装在给定区域中。尝试设置以下内容:

buttonPane.setwidth(100%);
buttonPane.setHorizontalAlignment(HasHorizontalAlignment.ALIGN_CENTRE);
如果这也不起作用,那么您必须使用API设置单元格对齐

setCellHorizontalAlignment(Widget w,HasHorizontalAlignment.HorizontalAlignmentConstant align);

我认为水平面板的长度等于100%。尝试为内部Widget设置对齐您可以尝试将
buttonPane
设置为
margin:auto将对话框中的按钮平面居中。在上面的代码中,有
HasHorizontalAlignment.ALIGN\u RIGHT
。你试过HasHorizontalAlignment.alignment_CENTER吗?Ganesh,是的。右对齐只是一个测试,看看我是否看到元素向右移动或移动;真倒霉。当我将其与第二个对齐中心的方法配对时,它确实会使其居中,但第二个按钮右侧似乎仍有多余的空间。您提到的最后一种方法无助于解决此问题。你知道为什么前两个按钮会在按钮面板的右边留下多余的空间吗?它的标题似乎是相关的。如果我删除设置的标题行,对话框只够支持两个按钮,正确居中。。我不知道标题行与此有什么关系,如果没有标题文本,它确实有效。一旦我加入文本,对齐就会变得不稳定:(