我是 GWT 的新手,在尝试更新视图时遇到了一些麻烦。我正在尝试基于 MVP 模式进行编码,所以我有这两个类 TempPresenter 和 TempViewer。加载此 UI (TempViewer.ui.xml) 后,我想在用户单击 submitButton 时向此显示添加一个新面板:
<g:HTMLPanel ui:field="temp">
<div align="center">
<g:HorizontalPanel>
<g:VerticalPanel>
<g:Label text="X data"/>
<g:TextArea ui:field="xData" visibleLines="10"/>
</g:VerticalPanel>
</g:HorizontalPanel>
<g:Button ui:field="submitButton" text="Submit" />
<g:VerticalPanel ui:field="newPanel" />
</div>
</g:HTMLPanel>
所以,我在 TempView 中写了这些行:
// TempView.java
...
@UiField
VerticalPanel verticalPanel;
public void setVerticalPanel(VerticalPanel v) {
this.verticalPanel = v;
}
...
@UiHandler("submitButton")
public void onSubmitButtonClick(ClickEvent event){
presenter.onSubmitButtonClicked(event);
}
...
以及 TempPresenter 中的这些行:
// TempPresenter.java
...
public void onSubmitButtonClicked(ClickEvent event) {
VerticalPanel panel = new VerticalPanel();
panel.add(new Label("newLabel"));
view.setVerticalPanel(panel);
...
}
当我运行这个程序时,我没有收到任何错误,一切都很好。但是,当我单击 submitButton 时,没有任何变化。到现在为止我犯错了吗?或者无法使用这种方式更新视图。那么,我该如何更新呢?