2014-07-01 26 views
0

我怎么可以设置BeanFieldGroup值文本字段了下面的语句中创建:如何从BeanFieldGroup访问TextField?

private TextField name = new TextField("Name"); 
BeanFieldGroup<MyBean> binder = new BeanFieldGroup<MyBean>(MyBean.class); 
BeanFieldGroup<MyBean> fieldGroup = new BeanFieldGroup<MyBean>(MyBean.class); 


fieldGroup.setItemDataSource(new MyBean()); 
fieldGroup.bindMemberFields(this); 
layout.addComponent(TextField); 

我尝试设置

name = (TextField) binder.getField("name"); 

但价值豆价值没有得到请指导

在此先感谢

回答

0

您正在使用两个BeanFieldGroup对象,绑定在第一个(fieldGroup)和从第二个(粘合剂)获得场。 这适用于我:

public class MyUI extends UI { 

@Getter 
@Setter 
private TextField name = new TextField("Name"); 

@Override 
public final void init(VaadinRequest request) { 
    VerticalLayout layout = new VerticalLayout(); 
    BeanFieldGroup<MyBean> fieldGroup = new BeanFieldGroup<MyBean>(MyBean.class); 

    fieldGroup.setItemDataSource(new MyBean()); 
    fieldGroup.bindMemberFields(this); 
    name = (TextField) fieldGroup.getField("name"); 
    layout.addComponent(name); 
    setContent(layout); 
} 

public static class MyBean { 
    @Getter 
    @Setter 
    private String name; 
} 
}