Hallo Leute,
ich habe ein eigenes Model für die JList Komponente erstellt. In diesem Model möchte ich nun Daten filtern und dementsprechend verfügbar machen. In meinem Beispiel werden Studenten nur ausgeben, die ein bestimmtes Mindestalter erreicht haben. Realisiert habe ich folgendes:
Meine Frage ist nun, ob das so elegant und gut gelöst ist. Ist es wirklich notwendig, mit zwei verschiedenen Containern zu arbeiten? Bei mir trat das Problem mit den Indexen auf, wenn ich nur eine Liste verwendet hatte ...
Gruß Marc
ich habe ein eigenes Model für die JList Komponente erstellt. In diesem Model möchte ich nun Daten filtern und dementsprechend verfügbar machen. In meinem Beispiel werden Studenten nur ausgeben, die ein bestimmtes Mindestalter erreicht haben. Realisiert habe ich folgendes:
Java:
ublic class MyListModel extends DefaultListModel {
private Student[] students = {
new Student("Adolf", "Werner", 54),
new Student("Max", "Mustermann", 18),
new Student("Thomas", "Maischberger", 21)
};
private List<Student> filteredStudents = new ArrayList<Student>();
public MyListModel(int y) {
for(int i = 0; i < students.length; i++) {
if(students[i].getAge() > y) filteredStudents.add(students[i]);
}
}
public Object getElementAt(int index) {
return filteredStudents.get(index);
}
public int getSize() {
return filteredStudents.size();
}
}
Meine Frage ist nun, ob das so elegant und gut gelöst ist. Ist es wirklich notwendig, mit zwei verschiedenen Containern zu arbeiten? Bei mir trat das Problem mit den Indexen auf, wenn ich nur eine Liste verwendet hatte ...
Gruß Marc