3

我想创建一个自定义 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>

简而言之,我希望框架以某种方式调用我的自定义小部件上的方法setHeader和方法。setContent

这有可能吗?

4

2 回答 2

2

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

如果要保留方法名称setHeaderand setContent(而不是addHeaderand addContent),则必须使用

@UiChild(tagname = "header")
void setHeader(Widget headerWidget) {
  ...
}
于 2013-01-03T19:01:07.693 回答
0

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

<cw:CustomPanel header="test" content=test" />
于 2013-01-03T18:54:45.583 回答