2009-11-21 28 views
5

Tôi có một hộp thoại GWT trông giống như sau:gwt bảng ngang liên kết không làm việc

public class FooDialog extends DialogBox { 

public FooDialog() { 
     setText("Foo Dialog"); 
     VerticalPanel outer = new VerticalPanel(); 
     outer.setBorderWidth(3); 
     outer.setSize("400px", "200px"); 
     outer.setHorizontalAlignment(HasAlignment.ALIGN_CENTER); 
     outer.setVerticalAlignment(HasAlignment.ALIGN_MIDDLE); 

     Button cancelButton = new Button("Cancel", new ClickHandler() { 
     public void onClick(ClickEvent event) { 
     hide(); 
     } 
    }); 

     HorizontalPanel buttons = new HorizontalPanel(); 
     buttons.setBorderWidth(3); 
     buttons.add(cancelButton); 

     outer.add(buttons); 

     setWidget(outer); 
    } 
} 

Đối với một số lý do 'bảng điều khiển nút' không tuân theo các thiết lập HorizontalAlignment; nó dính vào phía bên trái của bảng điều khiển bên ngoài. Tuy nhiên, nó tuân theo cài đặt vertialAlignment. Bất kỳ ý tưởng? Cảm ơn!

+0

Các kết các công trình trong GWT 1.7.1, tổ chức duyệt chế độ và biên soạn trong Chrome. – Fedearne

Trả lời

4

Bảng không tôn trọng thuộc tính căn chỉnh ngang của cha mẹ. Thay vào đó, đặt bên trái & lề phải của bảng con thành "tự động".

buttons.getElement(). GetStyle(). SetProperty ("marginLeft", "auto"); buttons.getElement(). GetStyle(). SetProperty ("marginRight", "tự động");

More Info: Center a table with CSS

+0

Cảm ơn Matt! Và nếu tôi muốn căn chỉnh các phần tử trong các nút ở bên phải thì sao? – Neil

+0

Rất tốt, cảm ơn Mat. Thiết lập lề để 'tự động' hoạt động cho một bảng bên trong một điều khiển ASP.NET Panel là tốt. – Dhaust

Các vấn đề liên quan