在UIBinder中使用子元素配置的gwt自定义小部件(如CustomButton)

时间:2011-12-04 13:04:02

标签: gwt uibinder

我面临着创建自定义小部件的任务,它有容器行为 - 里面有3个面板。 我想像CustomButton

那样以一般的UIBinder方式使用它
 <u:MyWidget>
   <u:image><g:Image .../></u:image>
   <u:mainContent><g:Panel.../></u:mainContent>
 </u:MyWinget>

是否有可能以某种方式定义自定义子元素,或者它可能是UIBuilder中预定义的东西?

提前致谢

1 个答案:

答案 0 :(得分:16)

正确的方法是使用UiChild注释。

public class MyWidget extends Composite {
  public MyWidget() {
    // ...
  }

  @UiChild( tagname = "image" )
  void addImage(Image image) {
    // ...
  } 

  @UiChild( tagname = "mainContent" )
  void addMainContent(Widget contentWidget) {
  }
}