Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vaadin数据模型不';t更新_Vaadin - Fatal编程技术网

Vaadin数据模型不';t更新

Vaadin数据模型不';t更新,vaadin,Vaadin,我正在尝试开发我在瓦丁的第一个应用程序。我看到了一些组件、布局。。。。。现在我试图学习如何将UI组件与数据模型绑定 我有这门课 public class Utente { private String nome = "Mario"; private String cognome = "Rossi"; public Utente() { // TODO Auto-generated constructor stub } public String getNome() { r

我正在尝试开发我在瓦丁的第一个应用程序。我看到了一些组件、布局。。。。。现在我试图学习如何将UI组件与数据模型绑定

我有这门课

public class Utente {

private String nome = "Mario";
private String cognome = "Rossi";


public Utente() {
    // TODO Auto-generated constructor stub
}

public String getNome() {
    return nome;
}

public void setNome(String nome) {
    this.nome = nome;
}

public String getCognome() {
    return cognome;
}

public void setCognome(String cognome) {
    this.cognome = cognome;
}

}
这个自定义组件

public class MyRegistration extends CustomComponent {

private FormLayout mainLayout;
private Button buttonSalva;
private Utente utente;
private BeanItem<Utente> beanItem;
private FieldGroup fieldGroup;

public MyRegistration() {
    buildMainLayout();
    setCompositionRoot(mainLayout);
}

private FormLayout buildMainLayout() {

    utente = new Utente();
    beanItem = new BeanItem<Utente>(utente);
    fieldGroup = new FieldGroup(beanItem);
    mainLayout = new FormLayout();

    setWidth("100.0%");
    setHeight("100.0%");

    mainLayout.addComponent(fieldGroup.buildAndBind("Nome", "nome"));
    mainLayout.addComponent(fieldGroup.buildAndBind("Cognome", "cognome"));

    // buttonSalva
    buttonSalva = new Button();
    buttonSalva.setCaption("Salva");
    mainLayout.addComponent(buttonSalva);

    addListener();

    return mainLayout;
}

private void addListener(){

    buttonSalva.addClickListener(new Button.ClickListener() {
        public void buttonClick(ClickEvent event) {
            System.out.println(fieldGroup.getItemDataSource());
        }
    });
}

}
公共类MyRegistration扩展了CustomComponent{
私有表单布局主布局;
私用按钮SALVA;
二等兵;
私家侦探;
私人场组场组;
公开注册(){
buildMainLayout();
setCompositionRoot(主布局);
}
私有FormLayout buildMainLayout(){
utente=新utente();
beanItem=新beanItem(utente);
fieldGroup=新的fieldGroup(beanItem);
mainLayout=新的FormLayout();
设置宽度(“100.0%”);
设定高度(“100.0%”);
mainLayout.addComponent(fieldGroup.buildAndBind(“Nome”,“Nome”));
addComponent(fieldGroup.buildAndBind(“Cognome”、“Cognome”);
//纽顿萨瓦
buttonSalva=新按钮();
按钮Salva.setCaption(“Salva”);
mainLayout.addComponent(按钮SAVA);
addListener();
返回主布局;
}
私有void addListener(){
buttonSalva.addClickListener(新建Button.ClickListener(){
公共作废按钮单击(单击事件){
System.out.println(fieldGroup.getItemDataSource());
}
});
}
}
我的问题是,如果我按下按钮,如果我修改字段的内容,我总是会显示Mario Rossi


我哪里错了?

您必须通过以下方式提交更改

fieldGroup.commit();
或将字段组设置为非缓冲模式:

fieldGroup.setBuffered(false);