使用FlexTable小部件時,只能使用ui.xml模板來設置它的位置,格式和屬性。你仍然需要在你的java代碼中實際提供表格的內容(和標題)。
有兩種方法可供選擇:
1:依靠模板實例化一個新的空FlexTable你,當你調用initWidget(...)
。隨後可以立即跟進table.setText(0,0, "Header 1")
等的相應調用,以指定您的內容。
2:實例化你叫initWidget(...)
,並與提供= true的註釋你的表成員變量前FlexTable自己。跟進與setText()
相同的呼叫。
例 (使用方法2)
public final class SomeWidget extends Composite {
@UiField (provided=true) FlexTable table;
SomeWidget() {
// When using provide=true, the table must be instantiated
// BEFORE calling initWidget.
setupTable();
initWidget(binder.createAndBindUi(this));
}
private void setupTable() {
table = new FlexTable();
table.setText(0, 0, "Header 1");
table.setText(0, 1, "Header 2");
// Create a temp blank row:
table.insertRow(1);
}
private static final Binder binder = GWT.create(Binder.class);
interface Binder extends UiBinder<Widget, SomeWidget> {}
}
而在你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>
有沒有辦法有一個靜態的佈局,我在'UI定義.xml'文件?或者有任何其他方式有一個簡單的表,有複選框和文本,例如? – displayname 2015-09-04 17:31:43