如何使用适用于GWT 2.4的uiBinder设置flextable

如何使用适用于GWT 2.4的uiBinder设置flextable,gwt,uibinder,flextable,Gwt,Uibinder,Flextable,我正在尝试使用uiBinder设置flextable。我正在使用GWT2.4,我知道如何使用flextable,但不知道如何使用uiBinder。我发现这样一个问题:有人这样问,但没有关于如何做到这一点的例子 因此,如果我将小部件声明为: @UiBinder FlexTable flexTable; 如何初始化包含两列的空行以及使用uiBinder以@UiConstructor或(provider=true)命名列的标题行?使用FlexTable小部件时,只能使用ui.xml模板设置其位置、格

我正在尝试使用uiBinder设置flextable。我正在使用GWT2.4,我知道如何使用flextable,但不知道如何使用uiBinder。我发现这样一个问题:有人这样问,但没有关于如何做到这一点的例子

因此,如果我将小部件声明为:

@UiBinder FlexTable flexTable;

如何初始化包含两列的空行以及使用uiBinder以@UiConstructor或(provider=true)命名列的标题行?

使用FlexTable小部件时,只能使用ui.xml模板设置其位置、格式和属性。您仍然需要在java代码中以实用的方式提供表的内容(和标题)

这有两种方法:

1:调用
initWidget(…)
时,依赖模板为您实例化一个新的空FlexTable。您可以随后立即调用
table.setText(0,0,“头1”)
等来指定您的内容

2:在调用
initWidget(…)
之前,自己实例化FlexTable,并用provided=true注释表成员变量。继续执行相同的调用
setText()

示例 (使用方法2)

public final类SomeWidget扩展复合{
@UiField(提供=真)FlexTable表格;
SomeWidget(){
//使用provide=true时,必须实例化该表
//在调用initWidget之前。
setupTable();
initWidget(binder.createAndBindUi(this));
}
私有void setupTable(){
table=新的FlexTable();
表.setText(0,0,“标题1”);
表2.setText(0,1,“标题2”);
//创建临时空行:
表.插入行(1);
}
私有静态最终绑定器Binder=GWT.create(Binder.class);
接口绑定器扩展UiBinder{}
}
在ui.xml文件中:

<ui:UiBinder
   xmlns:gwt="urn:import:com.google.gwt.user.client.ui"
   xmlns:ui="urn:ui:com.google.gwt.uibinder">

  <ui:style>
    .table-style {
      border: 1px solid black;
    }
  </ui:style>

  <gwt:HTMLPanel>
    Other random html
    <gwt:FlexTable ui:field="table" styleName="{style.table-style}" borderWidth="2" />
  </gwt:HTMLPanel>

</ui:UiBinder>

.桌式{
边框:1px纯黑;
}
其他随机html

有没有一种方法可以让我在
ui.xml
文件中定义静态布局?或者以任何其他方式创建具有复选框和文本的简单表格,例如。?
<ui:UiBinder
   xmlns:gwt="urn:import:com.google.gwt.user.client.ui"
   xmlns:ui="urn:ui:com.google.gwt.uibinder">

  <ui:style>
    .table-style {
      border: 1px solid black;
    }
  </ui:style>

  <gwt:HTMLPanel>
    Other random html
    <gwt:FlexTable ui:field="table" styleName="{style.table-style}" borderWidth="2" />
  </gwt:HTMLPanel>

</ui:UiBinder>