我有一个 Vaadin 表单,我重写了 attachField 方法。现在假设我有一个复选框、一个文本字段和另一个文本字段,我只希望在复选框为真时启用文本字段。
我将 2 个文本字段存储在 Group 类中:
package be.certipost.as2.gui.components.detail.custom;
导入 java.util.HashMap;导入 java.util.Map;
导入 com.vaadin.ui.Field;
公共类组{
private String id;
private Map<String, Field> fields;
public Group(String groupsId){
this.id=groupsId;
fields = new HashMap<String,Field>();
}
public Field findFieldById(String fieldId){
System.out.println(fields.size());
for( Map.Entry<String, Field> f: fields.entrySet()){
if(f.getKey().equals(fieldId)){
return f.getValue();
}
}
return null;
}
public void setEnabled(Boolean enabled){
for( Map.Entry<String, Field> f: fields.entrySet()){
f.getValue().setEnabled(enabled);
}
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public void addField(String fieldId, Field field) {
fields.put(fieldId,field);
System.out.println(fields.size());
}
}
现在在表格中我有一个列表组..
对于复选框,我说当它被点击时,它将检查正确组的组列表,并在该组中找到正确的字段。然后我将此字段设置为启用/禁用...在编译级别这有效,但是当我单击复选框时,我得到该字段的空指针异常。所以我的组在我单击复选框时的字段为零
我应该怎么办?