UiBinderは、Javaコードを使用したプログラムではなく、XMLマークアップを使用して、宣言的な方法でGWTコンポーネントをレイアウトするために使用されます。
UiBinderツリーの新しいXML要素は、そのクラスの新しいインスタンスを作成する必要があることを意味します。したがって、GWTドキュメントのこの例では、新しいHorizontalPanelと2つのラベルがインスタンス化されます。
<ui:UiBinder xmlns:ui='urn:ui:com.google.gwt.uibinder'
xmlns:g='urn:import:com.google.gwt.user.client.ui'>
<g:HorizontalPanel>
<g:Label>Keep your ducks</g:Label>
<g:Label>in a row</g:Label>
</g:HorizontalPanel>
</ui:UiBinder>
DockLayoutPanelを使用したこの他の例もあります。
<g:DockLayoutPanel unit='EM'>
<g:north size='5'>
<g:Label>Top</g:Label>
</g:north>
<g:center>
<g:Label>Body</g:Label>
</g:center>
<g:west size='10'>
<g:HTML>
<ul>
<li>Sidebar</li>
<li>Sidebar</li>
<li>Sidebar</li>
</ul>
</g:HTML>
</g:west>
</g:DockLayoutPanel>
この場合、要素は「north」、「west」、「center」ですが、これらはクラスの新しいインスタンスではなく、新しいDockLayoutPanelの構成です。
- DockLayoutPanelのように、カスタムUiBinder XML要素を受け入れるコンポーネントを作成するにはどうすればよいですか?
- クラスDockLayoutPanelのソース、またはその構成ファイルのどこで、特別なマークアップを使用するようにマークされていますか?また、特別なマークアップ要素の内部コンテンツをどのように処理しますか?
- 他のどのウィジェットが特別なUiBinderマークアップを受け入れますか?