【问题标题】:Adding items to custom widget in GWT UiBinder在 GWT UiBinder 中将项目添加到自定义小部件
【发布时间】:2014-04-29 04:59:56
【问题描述】:

我在 GWT 中创建了一个自定义表单下拉小部件。基本上它是一个附有一些花里胡哨的列表框。我想使用 UiBinder 将项目添加到列表框中。如果它只是一个 gwt ListBox 我可以拥有

<g:ListBox>
  <g:item>Test</g:item>
  <g:item>Test</g:item>
</g:ListBox>

一切都很好。本着同样的精神,我希望我的自定义小部件也可以添加以下项目:

<my:FormDropdown>
  <g:item>Test</g:item>
  <g:item>Test</g:item>
</my:FormDropdown>

我不需要它是我添加到它的 g:item,以防我需要制作自定义的东西。我想我需要使用 GWT UiBinder 工厂方法,但我在 GWT UiBinder 文档中找不到讨论这个的位置。

【问题讨论】:

    标签: gwt uibinder


    【解决方案1】:

    在 UIBinder XML 顶部的 &lt;ui:Binder .... &gt; 标记中添加命名空间声明,如下所示:

    xmlns:my="urn:import:com.yourcompany.yourproject.widgets"
    

    您正在添加一个 XML 命名空间,它指向包含 FormDropdown.java 的包。

    所以如果你的FormDropdown 在:com.yourcompany.yourproject.widgets.FormDropdown.java

    那么你的 UI Binder XML 应该说:

    <!DOCTYPE ui:UiBinder SYSTEM "http://dl.google.com/gwt/DTD/xhtml.ent">
    <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.yourcompany.yourproject.widgets">
        <ui:style>
        .important {
            font-weight: bold;
        }
        </ui:style>
        <g:HTMLPanel>
    
            <my:FormDropdown>
                <g:item>Test</g:item>
                <g:item>Test</g:item>
            </my:FormDropdown>
    
        </g:HTMLPanel>
    </ui:UiBinder>
    

    【讨论】:

    • 不是问题。我怎样才能让 my:dropdown 添加 g:items 或类似的东西?
    • @Michael 对不起,我误解了你的问题。您正在寻找这个:stackoverflow.com/a/13846858/1038832 GWT ListBox 使用元素解析器(请参阅com.google.gwt.uibinder.elementparsers.ListBoxParser)。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-25
    • 2014-04-08
    • 2015-11-19
    • 1970-01-01
    相关资源
    最近更新 更多