* .ui.xml中的自定义复合窗口小部件

时间:2013-01-03 17:52:09

标签: gwt uibinder

我想创建一个自定义GWT复合窗口小部件,稍后我可以使用uiBinder在* .ui.xml中使用这种方式(cw是我的自定义窗口小部件包的前缀):

<cw:CustomPanel>  
  <cw:header><g:Label>test</g:Label></cw:header>  
  <cw:content><g:Label>test</g:Label></cw:content>  
</cw:CustomPanel>

简而言之,我希望框架会以某种方式调用我的自定义窗口小部件上的setHeadersetContent方法。

那可能吗?

2 个答案:

答案 0 :(得分:2)

这是@UiChild的用途,请参阅http://google-web-toolkit.googlecode.com/svn/javadoc/latest/com/google/gwt/uibinder/client/UiChild.html

处的JavaDoc

如果您想保留方法名称setHeadersetContent(而不是addHeaderaddContent),则必须使用

@UiChild(tagname = "header")
void setHeader(Widget headerWidget) {
  ...
}

答案 1 :(得分:0)

在窗口小部件的Java类中创建setHeader(String title)setContent(String content)方法。在这些方法中,分别向标题和内容面板添加文本。然后你就可以用这种方式在Ui:Binder中使用这个小部件:

<cw:CustomPanel header="test" content=test" />