Я так новичок в GWT и испытываю некоторые проблемы, пока я пытаюсь обновить представление. Я пытаюсь создать код на основе шаблона MVP, поэтому у меня есть эти два класса TempPresenter и TempViewer. После загрузки этого интерфейса (TempViewer.ui.xml), я хочу, чтобы добавить новую панель этого дисплея, когда пользователь нажимает на submitButton:Обновить представление в GWT
<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, изменений нет. Я допустил ошибку до сих пор? Или не обновляет вид, используя этот способ. Итак, как я могу его обновить?
это работает! почему я не попробовал? Большое спасибо –