я использую элемент управления 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;
}
Я хочу использовать список для привязки моего ArrayList. Могу ли я установить что-то вроде «отображаемое текстовое поле» для поля «имя» и «поле значения» для моего «идентификатора»? Чтобы я мог получить эти значения по мере необходимости. Лучшая мечта - я могу получить всю выбранную «Тему» вместо строкового поля. Я видел, что в списке есть только getSelectedValue, и если я хочу отобразить тему в списке, я должен установить getValueAt() в модели, чтобы вернуть «имя», а getSelectedValue() также вернуть выбранное «имя» :( Если я измените getElementAt() в классе модели, чтобы он возвращал «Subject», в списке будет отображаться @object.abxdef