UiBinder中的通用小部件

use*_*383 5 gwt uibinder

我刚创建了widget:

public class myWidget<T> extends FlowPanel {
private T value;

public T getValue()
{
    return value;
}

public myWidget(T[] values) {
    for (T value : values)
    {
        //do action
    }
}
Run Code Online (Sandbox Code Playgroud)

如何使用UiBinder添加它?有可能吗?

Adr*_* B. 7

是的你可以.您必须将包含myWidget该类的包导入XML命名空间.假设您的包被调用com.test.widgets,声明性布局如下所示:

<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.test.widgets'>

  <my:myWidget>
    <g:Label>A label</g:Label>
    <g:Label>A second label</g:Label>
  </my:myWidget>
</ui:UiBinder>
Run Code Online (Sandbox Code Playgroud)

请注意导入xmlns:my='urn:import:com.test.widgets'和用法<my:myWidget>.