代码之家  ›  专栏  ›  技术社区  ›  pkaeding

是否可以重复使用GWT UIBinder面板?

  •  8
  • pkaeding  · 技术社区  · 15 年前

    我在googlewebtoolkit中有一个使用UIBinder的布局 TabLayoutPanel . 此布局包含我的应用程序将使用的所有选项卡的超集(将其视为管理视图)。

    我现在需要创建一个新的布局,使用这些选项卡的子集(例如,对于普通用户)。

    2 回复  |  直到 15 年前
        1
  •  3
  •   Ashwin Prabhu    15 年前

    将每个选项卡内容定义为单独的UiBinder模板。因为UiBinder类是复合类,所以您可以像其他小部件一样将它们添加到任何容器中。

    通过将每个UiBinder模板化对象添加到TabPanel的选项卡中,或者使用TabPanel和定义的所有选项卡定义另一个UiBinder模板,可以在代码中组装TabLayoutPanel。

    如果 com.project.package 在这里,您将要嵌入到各个选项卡中的所有复合对象保存在一起,然后定义一个新的名称空间f作为 xmlns:f= 'com.project.package' 不久之后xmlns:g declaration.

    <f:Composite1 /> 
    <f:Composite2 />
    
        2
  •  5
  •   Jason Hall    15 年前

    您完全可以导入您编写的视图,包括UIBinder模板和常规视图 Widget

    UIBinder docs :

    <ui:UiBinder xmlns:ui='urn:ui:com.google.gwt.uibinder'
        xmlns:g='urn:import:com.google.gwt.user.client.ui'
        xmlns:my='urn:import:com.my.app.widgets' >
    
      <g:HTMLPanel>
        <my:WeatherReport ui:field='weather'/>
    
        <my:Stocks ui:field='stocks'/>
        <my:CricketScores ui:field='scores' />
      </g:HTMLPanel>
    </ui:UiBinder>
    

    注意 Stocks CricketScores 小部件是从您自己的包中导入的。

    您不必仅为了基于用户权限显示/隐藏选项卡而这样做,您只需基于访问级别在GWT代码中显示/隐藏选项卡即可。

    推荐文章