【发布时间】:2014-10-31 08:39:36
【问题描述】:
我正在使用Swing List控件绑定数据,我(必须)使用一个类来制作模型
public class SubjectListModel extends AbstractListModel<String> {
public ArrayList<Subject> listSubjects;
public SubjectListModel(ArrayList<Subject> listSubjects) {
this.listSubjects = listSubjects;
}
@Override
public int getSize() {
return listSubjects.size();
}
@Override
public String getElementAt(int index) {
return listSubjects.get(index).name;
}
class Subject{
int id;
string name;
}
我希望使用 List 来绑定我的 ArrayList,我可以为“名称”字段设置“显示文本字段”,为我的“id”设置“值字段”吗?这样我就可以根据需要检索这些值。 最好的梦想是我可以检索整个选定的“主题”而不是字符串字段。 我看到列表只有 getSelectedValue,如果我想在列表中显示主题,我必须在模型中设置 getValueAt() 以返回“名称”,并且 getSelectedValue() 也返回选定的“名称”:(如果我将模型类中的getElementAt()更改为返回“Subject”,列表将显示@object.abxdef
【问题讨论】:
标签: java swing jlist defaultlistmodel list.selectedvalue