Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/gwt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在UIBinder中具有子元素配置的gwt自定义小部件(如CustomButton)_Gwt_Uibinder - Fatal编程技术网

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

在UIBinder中具有子元素配置的gwt自定义小部件(如CustomButton),gwt,uibinder,Gwt,Uibinder,我面临着创建自定义小部件的任务,它有容器行为——内部有3个面板。 我想用一般的方式来使用它 是否可以以某种方式定义自定义子元素,或者它是UIBuilder中预定义的东西 提前感谢正确的方法是使用注释。 @托马斯-但是你一般怎么做?例如,如果所有子面板都实现了myInnerPanel,我如何访问该子面板?文档说这个标记名必须与方法名完全匹配。有工作吗?好的,开始工作了。只要我的泛型类型(比如MyAbstractWidget)是由“customtag”标记的子级扩展的,那么在@UiChild方

我面临着创建自定义小部件的任务,它有容器行为——内部有3个面板。 我想用一般的方式来使用它


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


提前感谢

正确的方法是使用注释。


@托马斯-但是你一般怎么做?例如,如果所有子面板都实现了myInnerPanel,我如何访问该子面板?文档说这个标记名必须与方法名完全匹配。有工作吗?好的,开始工作了。只要我的泛型类型(比如MyAbstractWidget)是由“customtag”标记的子级扩展的,那么在@UiChild方法中,我就可以将Widget向上转换为MyAbstractWidget而不会出现问题。这样,@UiChild方法和父窗口小部件就可以处理“customtag”的任何正确格式的未来子窗口
 <u:MyWidget>
   <u:image><g:Image .../></u:image>
   <u:mainContent><g:Panel.../></u:mainContent>
 </u:MyWinget>
public class MyWidget extends Composite {
  public MyWidget() {
    // ...
  }

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

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