2009-11-21 13 views
5

ich ein GWT-Dialogfeld habe, die wie folgt aussieht:gwt Panel horizontale Ausrichtung nicht funktioniert

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

aus irgendeinem Grunde der Panel ‚Tasten‘ nicht die Horizontal Einstellung gehorchen; es haftet an der linken Seite der äußeren Platte. Es folgt jedoch der Einstellung vertialAlignment. Irgendwelche Ideen? Vielen Dank!

+0

Die Ausrichtung arbeitet in GWT 1.7.1 Modus Browser gehostet und in Chrome zusammengestellt. – Fedearne

Antwort

4

Die Tabellen berücksichtigen die horizontale Ausrichtungseigenschaft des Parent nicht. Setzen Sie stattdessen die linken & rechten Ränder der Kindtabelle auf "auto".

buttons.getElement(). GetStyle(). SetProperty ("marginLeft", "auto"); buttons.getElement(). GetStyle(). SetProperty ("marginRight", "auto");

Mehr Info: Center a table with CSS

+0

Danke Matt! Und was, wenn ich die Elemente in Knöpfen nach rechts ausrichten wollte? – Neil

+0

Nett, danke Mat. Das Festlegen der Ränder auf "auto" funktioniert auch für eine Tabelle in einem ASP.NET-Steuerfeld. – Dhaust

Verwandte Themen