ウィジェットをUibinderで使用できるようにするには、少なくともIsWidgetインターフェースを実装する必要があります。すでにウィジェットであるため、もちろんすでにIsWidgetを実装しています。
したがって、非ウィジェットは、IsWidgetを実装することにより、uibinderの子ウィジェット要素として使用することもできます。
IsWidgetインターフェースでは、メソッドを実装するために非ウィジェットが必要asWidget()
です。したがって、このような非ウィジェットはウィジェットコンテナとして機能する必要があります。
IsWidgetを実装すると、クラスを子ウィジェット要素としてのみ使用できます。
あなたのクラスが
com.zzz.client.ui.HelloKitty
子ウィジェット要素を持つことができるようにするには、を実装する必要がありますHasWidgets
。
<ui:UiBinder
xmlns:ui='urn:ui:com.google.gwt.uibinder'
xmlns:g='urn:import:com.google.gwt.user.client.ui'
xmlns:z='urn:import:com.zzz.client.ui'>
<g:VerticalPanel>
<z:HelloKitty>
<g:button ..../>
<g:textbox>asdf</g:textbox>
</z:HelloKitty>
<g:VerticalPanel>
</ui:UiBinder>
または、HasOneWidgetを実装することもできます。
クラスがそのuibinderタグの間にテキストを持つことができるようにするには、HasTextを実装する必要があります。
<ui:UiBinder
xmlns:ui='urn:ui:com.google.gwt.uibinder'
xmlns:g='urn:import:com.google.gwt.user.client.ui'
xmlns:z='urn:import:com.zzz.client.ui'>
<g:VerticalPanel>
<z:HelloKitty>qwerty</z:HelloKitty>
<g:VerticalPanel>
</ui:UiBinder>
タグ間で有効なHTMLを受け入れるには、HasHTMLを実装する必要があると思います。