【发布时间】:2012-08-02 16:50:06
【问题描述】:
试图扩展 AbsolutePanel,我的 UiBinder 不允许 <g:at> 元素,这对于直接的 AbsolutePanel 通常是可以的。如何使我的 AbsolutePanel 子类能够使用 <g:at> 元素?更一般地说,我可以为我自己的自定义小部件(如“at”、“west”、“layer”等)制作自定义 UiBinder 关键字吗?
【问题讨论】:
试图扩展 AbsolutePanel,我的 UiBinder 不允许 <g:at> 元素,这对于直接的 AbsolutePanel 通常是可以的。如何使我的 AbsolutePanel 子类能够使用 <g:at> 元素?更一般地说,我可以为我自己的自定义小部件(如“at”、“west”、“layer”等)制作自定义 UiBinder 关键字吗?
【问题讨论】:
您可以使用 @UiChild 在您的小部件中声明特殊功能,该小部件可在 UiBinders 中访问。
例如,
class MyPanel extends AbsolutePanel {
@UiChild
public void addAt(Widget w, String parameter1, String parameter2) {
....
然后,在你的 uiBinder 中,你可以说
<custom:MyPanel>
<custom:at parameter1="HI" parameter2="Anything you like!">
<g:AnySingleWidget />
</custom:at>
</custom:MyPanel>
【讨论】: