【发布时间】:2016-06-02 01:00:07
【问题描述】:
我使用 UiBinder 在一个单一的 GWT 应用程序中定义我的页面元素。
“Login.ui.xml”定义如下。
<ui:UiBinder xmlns:ui='urn:ui:com.google.gwt.uibinder'
xmlns:gwt='urn:import:com.google.gwt.user.client.ui'>
<gwt:HTMLPanel>
<div align="center">
<gwt:VerticalPanel ui:field="myMeasuresBoxesPanel">
</gwt:VerticalPanel>
</div>
</gwt:HTMLPanel>
Login 类定义为:
public class Login extends Composite {
private static LoginUiBinder uiBinder = GWT.create(LoginUiBinder.class);
/*
* @UiTemplate is not mandatory but allows multiple XML templates to be used
* for the same widget. Default file loaded will be <class-name>.ui.xml
*/
@UiTemplate("Login.ui.xml")
interface LoginUiBinder extends UiBinder<Widget, Login> {
}
@UiField
VerticalPanel myMeasuresBoxesPanel;
public Login() {
this.myMeasuresBoxesPanel.getElement().setId("myMeasuresBoxesPanel");
for(int i = 0; i < 10; i ++) {
TextBox newMeasureTextBox = new TextBox();
newMeasureTextBox.setText(String.valueOf(i));
this.myMeasuresBoxesPanel.add(newMeasureTextBox);
}
initWidget(uiBinder.createAndBindUi(this));
}
}
我希望 myMeasuresBoxesPanel verticalPanel 使用 10 个 TextBox 小部件的列表进行初始化,供用户输入信息。
代码编译得很好,但是网页没有显示文本框,而只是一个从verticalPanel呈现的空表。
【问题讨论】: