Servus Community,
habe schon durch das Forum geschaut und auch ähnliche Threads gefunden, leider konnte mir keiner die Erleuchtung bringen.
Vielleicht klappts ja mit einem eigenen
Folgendes:
Ich lade Objekte aus einer DB und zeige diese in einer Combobox an
(Kategorie besitzt eine "toString()" Methode.)
Danach kann der Benutzer entsprechend einen Wert auswählen und speichern.
(Soweit so gut, dass funktioniert)
Nun soll beim nächsten Laden in der Combobox direkt das richtige Element selektiert sein.
Dies wollte ich durch die Methode: "setSelectedItem" lösen.
Da diese Methode intern ja mit "equals" arbeitet, dachte ich auch, dass es kein Problem ist.
Jedoch scheinen die Objekte nicht gleich zu sein.
Hier ein kleiner Test um zu schauen ob die Objekte gleich sind:
auch hierbei schlägt das "equals" fehl.
Wenn ich mir die Objekte jedoch im Debugger anschaue, scheinen diese soweit den gleichen Inhalt zu haben.
Was habe ich übersehen?
Danke schonmal
habe schon durch das Forum geschaut und auch ähnliche Threads gefunden, leider konnte mir keiner die Erleuchtung bringen.
Vielleicht klappts ja mit einem eigenen
Folgendes:
Ich lade Objekte aus einer DB und zeige diese in einer Combobox an
Java:
List<?> domainListe = crit.list();
for (int i=0; i<domainListe.size(); i++)
{
Kategorie kategorie = (Kategorie) domainListe.get(i);
combobox.addItem(kategorie);
}
(Kategorie besitzt eine "toString()" Methode.)
Danach kann der Benutzer entsprechend einen Wert auswählen und speichern.
(Soweit so gut, dass funktioniert)
Nun soll beim nächsten Laden in der Combobox direkt das richtige Element selektiert sein.
Dies wollte ich durch die Methode: "setSelectedItem" lösen.
Da diese Methode intern ja mit "equals" arbeitet, dachte ich auch, dass es kein Problem ist.
Jedoch scheinen die Objekte nicht gleich zu sein.
Hier ein kleiner Test um zu schauen ob die Objekte gleich sind:
Java:
Kategorie kategorie = xxx.getMyKategorie();
Kategorie kategorie2 = combobox.getItemAt(1);
if (kategorie.equals(kategorie2))
{
kategorie = kategorie2;
combobKategorie.setSelectedItem(kategorie);
}
auch hierbei schlägt das "equals" fehl.
Wenn ich mir die Objekte jedoch im Debugger anschaue, scheinen diese soweit den gleichen Inhalt zu haben.
Was habe ich übersehen?
Danke schonmal