Teoretycznie powinno być dobrze ale nie działa
Wypełniam combo obiektami, które zawierają dane pobrane z bazy
Obiekt profesor ma nadpisaną metodę to String aby ładnie wypisywało mi imię i po przecinku nazwisko.
Tutaj wszystko ładnie się uzupełnia.
void uzupelnijComboCzlonek(){
ProfesorInfo[] profesorInfo = dbProcessor.getProfesorzy();
for(int j=0;j<6;j++){
comboCzlonek[j].removeAllItems();
for(int i=0; i<profesorInfo.length; i++)
{
comboCzlonek[j].addItem(profesorInfo[i]);
}
comboCzlonek[j].setSelectedItem(null);
}
}
Problem następuje gdy chcę aby zaznaczyła mi się konkretna osoba
Fragment kodu
ProfesorInfo[] profesorInfos = dbProcessor.getProfesorzybyStudentid(studentInfo.studentId);
if(profesorInfos!=null){
System.out.println("Przewodniczcy "+profesorInfos[0]);
// TODO nie wypelnia combo nie wiem jak to zrobić ;/
comboPrzewodniczacy.setSelectedItem(profesorInfos[0]);
comboPromotor.setSelectedItem(profesorInfos[1]);
comboRecenzent.setSelectedItem(profesorInfos[2]);
comboCzlonek[0].setSelectedItem(profesorInfos[3]);
comboCzlonek[1].setSelectedItem(profesorInfos[4]);
comboCzlonek[2].setSelectedItem(profesorInfos[5]);
comboCzlonek[3].setSelectedItem(profesorInfos[6]);
comboCzlonek[4].setSelectedItem(profesorInfos[7]);
comboCzlonek[5].setSelectedItem(profesorInfos[8]);
}else{
comboPrzewodniczacy.setSelectedItem(null);
comboPromotor.setSelectedItem(null);
comboRecenzent.setSelectedItem(null);
comboCzlonek[0].setSelectedItem(null);
comboCzlonek[1].setSelectedItem(null);
comboCzlonek[2].setSelectedItem(null);
comboCzlonek[3].setSelectedItem(null);
comboCzlonek[4].setSelectedItem(null);
comboCzlonek[5].setSelectedItem(null);
}
Jeżeli daje przy wypełnianiu i przy metodzie setSelectedItem toString to wszystko działa, wypełnia mi się poprawnie.
W jaki sposób mogę obejść taki problem.
Dziękuję za wszystkie podpowiedzi ;]
//edit
Może da się zrobić jakąś maskę w taki sposób że wyświetlane będą Stringi a combo będzie przetrzymywać obiekty. Tylko czy da się takie coś zrobić, bo ja nie potrafię.