【问题标题】:Custom Composite widget in *.ui.xml*.ui.xml 中的自定义复合小部件
【发布时间】:2013-01-03 17:52:09
【问题描述】:

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

这可能吗?

【问题讨论】:

    标签: gwt uibinder


    【解决方案1】:

    这就是@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) {
      ...
    }
    

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-07-27
        • 2012-08-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多