FlowPanel vs. HTMLPanel in GWT UiBinder
Bei der Verwendung von UiBinder was ist die bevorzugte Methode zum erstellen eines einfachen Layouts wie diese?
FlowPanel:
<!DOCTYPE ui:UiBinder SYSTEM "http://dl.google.com/gwt/DTD/xhtml.ent">
<ui:UiBinder xmlns:ui='urn:ui:com.google.gwt.uibinder'
xmlns:g='urn:import:com.google.gwt.user.client.ui'>
<ui:style>
.outer {
display: table;
height: 100%;
width: 100%;
}
.inner {
background: #DDD;
display: table-cell;
vertical-align: middle;
}
</ui:style>
<g:FlowPanel styleName="{style.outer}">
<g:FlowPanel styleName="{style.inner}">
<g:Label ui:field="someLabel"/>
</g:FlowPanel>
</g:FlowPanel>
</ui:UiBinder>
HTMLPanel:
<!DOCTYPE ui:UiBinder SYSTEM "http://dl.google.com/gwt/DTD/xhtml.ent">
<ui:UiBinder xmlns:ui='urn:ui:com.google.gwt.uibinder'
xmlns:g='urn:import:com.google.gwt.user.client.ui'>
<ui:style>
.outer {
display: table;
height: 100%;
width: 100%;
}
.inner {
background: #DDD;
display: table-cell;
vertical-align: middle;
}
</ui:style>
<g:HTMLPanel styleName="{style.outer}">
<div class="{style.inner}">
<g:Label ui:field="someLabel"/>
</div>
</g:HTMLPanel>
</ui:UiBinder>
Edit: ich weiß, Sie produzieren die gleichen html beim Rendern Frage ich mich, ob es irgendeine Rechtfertigung für die Verwendung eines styles über den anderen.
Den javadocs sagen, dass das FlowPanel ist die einfachste panel, aber zu welchem Zeitpunkt ist mit einer HTMLPanel werden, vorzuziehen. z.B.
<FlowPanel>
<FlowPanel>
<Widget>
</FlowPanel>
<FlowPanel>
<Widget>
</FlowPanel>
</FlowPanel>
vs.
<HTMLPanel>
<div>
<Widget>
</div>
<div>
<Widget>
</div>
</HTMLPanel>
Dank.
UiBinder - HTMLPanel vs. div ist eine ziemlich ähnliche Frage, sondern fragt über die Verwendung eines div-vs. ein HTMLPanel.
InformationsquelleAutor DTing | 2012-01-20
Du musst angemeldet sein, um einen Kommentar abzugeben.
Eigentlich Sie machen wird, gleichen in Ihrem Fall - div. Es gibt keinen Unterschied, es sei denn, Sie beginnen das hinzufügen mehrerer Elemente zu FlowPanel.
Können Sie versuchen, FlowPanel Verhalten hier:
http://examples.roughian.com/index.htm#Panels~FlowPanel
Sollten Sie verwenden HTMLPanel in den Fällen, wenn Sie brauchen, um schreiben Sie Ihre eigenen benutzerdefinierten HTML-code auf der Seite. Es ermöglicht das schreiben von HTML-code innerhalb des HTMLPanel tag.
Zum Beispiel können Sie nicht tun, solche trick mit FlowPanel.
Sie können einfach überprüfen Sie es selbst - starten Sie firebug in firefox oder die developer Tools in chrome zu inspizieren, um diese Elemente. Ich habe es versucht und herausgefunden, dass Sie machen sowohl als div-tag. Also ich nehme an, Sie müssen nicht sorgen zu machen über die Nebenwirkungen, und konzentrieren Sie sich nur über Ihren code readabiliy und maintability.
InformationsquelleAutor Igor Konoplyanko
Ich vor kurzem gelesen Tags Erste GWT-Programmierung. Es scheint mir, dass die Technik, die er beschreibt, würde es ermöglichen, dass Sie eine viel bessere Kontrolle über die ultimative Darstellung Ihrer Seite, und gleichzeitig die Vorteile von GWT.
Ich denke, die Dichotomie, die Sie Fragen, über die zwischen FlowPanel und HTMLPanel ist nicht wirklich die richtige Frage. Stattdessen ist es am besten zu erkennen, dass Sie gemeint sind, für verschiedene Dinge.
HTMLPanel ist in der Lage, viel mehr als FlowPanel ist. Wenn Sie brauchen, um dynamisch hinzufügen und entfernen von widgets, die eingebettet sind in einige benutzerdefinierte html, verwenden Sie ein HTMLPanel. Wenn Sie nur wollen, einige widgets ausrichten, die zusammen auf der Seite mit normalen html-Fluss (wie text und Bilder) verwenden Sie ein FlowPanel.
Mein persönlicher Rat wäre, um die einfachste Sache, die Sie tun können, was Sie brauchen es zu.
InformationsquelleAutor Geoff
Empfehle ich das zweite Beispiel. Wenn möglich sollten Sie lieber mit einem einfachen HTML-Tags wie "div" über ein widget wie "FlowPanel", weil die Gemeinkosten einer unbenutzten logische widget.
Diese können erste scheint trivial, aber es speichert Sie eine Menge Kopfschmerzen (memory-leaks, gquery Operationen, ...), wenn Sie es zu tun haben mit einer Menge von Elementen.
InformationsquelleAutor Johannes Barop