我正在尝试在我正在处理的项目中使用EditorGrid。我在用 EditorGrid grid = new EditorGrid(...)
ClassGrade是一个对象,包含名称,成绩(作为成绩对象)和课程的学分。
但是,ClassGrade必须实现ModelData。当我尝试实现接口时,有一些方法我不确定如何正确实现。
@Override
public <X> X get(String property) {
if (property.equals("name"))
return this.getClassName();
if (property.equals("hours"))
return this.getHours();
if (property.equals("grade"))
return this.getGrade();
return null;
}
@Override
public Map<String, Object> getProperties() {
Map<String, Object> propMap = new HashMap<String, Object>();
propMap.put("grade", this.getGrade());
propMap.put("hours", this.getHours());
propMap.put("name", this.getClassName());
return propMap;
}
@Override
public Collection<String> getPropertyNames() {
ArrayList<String> props = new ArrayList<String>();
props.add("grade");
props.add("hours");
props.add("name");
return props;
}
@Override
public <X> X remove(String property) {
// TODO Auto-generated method stub
return null;
}
@Override
public <X> X set(String property, X value) {
// TODO Auto-generated method stub
return null;
}
我不知道如何处理get,remove和set方法,因为我不知道X的意思。我尝试使用
@Override
public <X> X get(String property) {
if (property.equals("name"))
return this.getClassName();
if (property.equals("hours"))
return this.getHours();
if (property.equals("grade"))
return this.getGrade();
return null;
}
但是这不起作用,因为返回不是X类型。我做错了什么,我该如何让它工作?
答案 0 :(得分:1)
我也使用网格等,并将BeanModel类用于需要modelData的商店。我实现如下。
public class dto implements IsSerializable, BeanModelTag {
....//attributes and setter getters.
}
和
将此对象转换为模型,如下所示;
public static <E> BeanModel toModel(E e) {
BeanModelFactory factory = BeanModelLookup.get().getFactory(e.getClass());
return factory.createModel(e);
}
我希望它对你有用。