GWT UiBinder:如何制作使用;at";元素?

GWT UiBinder:如何制作使用;at";元素?,gwt,uibinder,Gwt,Uibinder,尝试扩展AbsolutePanel时,我的UiBinder将不允许元素,这通常适用于直AbsolutePanel。如何使AbsolutePanel子类能够使用元素?更一般地说,我可以为我自己的自定义小部件(如“at”、“west”、“layer”等)创建自定义UiBinder关键字吗?您可以使用@UiChild声明在UiBinders中可访问的小部件中的特殊函数 比如说, class MyPanel extends AbsolutePanel { @UiChild public

尝试扩展AbsolutePanel时,我的UiBinder将不允许
元素,这通常适用于直AbsolutePanel。如何使AbsolutePanel子类能够使用
元素?更一般地说,我可以为我自己的自定义小部件(如“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>


请参见@UiChild at

我希望GWT文档记录您在这里演示的参数特性。这正是我所要寻找的,但不可能通过官方文档发现。还值得指出的是,您使用原语类型指定的“Widget w”之后的任何参数都将显示为UiBinder设计器中的可编辑属性,在子小部件上,分组在UiChild标题下。因此,在上面的示例中,“UiChild”标题下的“properties”窗格中将有properties parameter1和parameter2。如果您使用@UiChild(tagname=“something”)注释,则标记名必须是小写的,或者是与UiChild add方法的类来自同一个包的实际类名,否则设计者会抛出错误。这些错误不会干扰开发模式或编译,但它们很烦人。嗨,我总是要传递一个小部件,还是只传递两个参数?