Eine FlowPanel
wird als html '< div>' gerendert, so dass alles, was hinzugefügt wird, abhängig von der Standardanzeige positioniert wird.
Zum Beispiel Kinder-Widgets wie ein gerenderte ‚< div>‘ wie Label
vertikal positioniert werden, weil ihr Standardverhalten als ein Block ist, aber wenn Sie ein TextBox
hinzufügen wird es als ‚< input>‘ gemacht werden, dessen Standard Anzeige ist Inline-Block.
So ist die Art, wie Kinder in einem FlowPanel
setzt die Eigenschaft display
angemessen für jede Kinder zu verfügen, mit der float
Eigenschaft spielen, oder jedem anderen css zwicken wie flexbox. Normalerweise machen gwt-Designer diese Einstellung in ui-binder-Vorlagen. Aber wenn Sie mit dem Code tun möchten, können Sie dies tun:
// Example of a flow panel with all elements disposed in vertical
FlowPanel verticalFlowPanel = new FlowPanel();
TextBox textBox = new TextBox();
Label label = new Label("Foo");
textBox.getElement().getStyle().setDisplay(Display.BLOCK);
verticalFlowPanel.add(textBox);
verticalFlowPanel.add(label);
RootPanel.get().add(verticalFlowPanel);
// Example of a flow panel with all elements disposed in horizontal
FlowPanel horizontalFlowPanel = new FlowPanel();
TextBox textBox2 = new TextBox();
Label label2 = new Label("Foo");
label2.getElement().getStyle().setDisplay(Display.INLINE_BLOCK);
horizontalFlowPanel.add(textBox2);
horizontalFlowPanel.add(label2);
RootPanel.get().add(horizontalFlowPanel);
Wenn alle untergeordneten Elemente vom selben Widgettyp wie Label stammen, wird es horizontal fließen. Wenn 1 Widget label & other ist Textfeld, dann wird es vertikal fließen. Irgendwelche irgendwelche fand ich eine Lösung – Tum
@Minh Hai, das ist nicht wahr, es hängt von der Natur des widgets ab. Wenn alle Widgets Beschriftungen sind, fließen sie immer vertikal, es sei denn, Sie legen den Stil auf eine andere Sache fest. –
Thax Sie für Ihre Antwort, aber ist es wahr, dass es viel schneller mit FlowPanel als VerticalPanel oder HorizontalPanel läuft? seit VP & HP
Mit
display:block;
für Kinder, dann wird es in Ordnung sein. Ich habe festgestellt, dass meine App nach dem Konvertieren von VerticalPanel in FlowPanel viel schneller ausgeführt wird.Quelle
2013-10-09 07:04:55 Tum
Verwandte Themen