Objekte in JComboBox parametrisieren

HerrRitschwumm

Grünschnabel
Hallo,

ich bin von meinem Thema http://www.tutorials.de/forum/java/275142-objekte-jlist-parametrisieren.html#post1423219
nun auf dieses Thema gekommen.

Das parametrisieren einer JList funktioniert tatsächlich mit Generics. Ich habe dazu die Klasse AbstractListModel abgeleitet und die abgeleitete Klasse parametrisiert (oder generalisiert?).
Ich kann nun eine Instanz meiner neuen Klasse eine JList mit setModel(Instanz) übergeben und es scheint zu funktionieren.
Ich dachte nun, ich kann das gleiche auch mit der JComboBox machen, allerdings funktionierts da nicht. Hat jemand eine Idee, wie man es hinbekommen könnte?

Vielen Danke im Voraus!

Edit:
Das Problem scheint daran zu liegen, dass ein Model für die JComboBox das Interface ComboBoxModel implementieren muss. Nun ist es anscheinend so, dass im Interface Methoden, die den Typ Object zurückliefern, in der Implementierung generalisiert werden können, also dann in der Implementierung z.B. statt 'Object getSelectedItem()' dann 'T getSelectedItem()' (T für den Typ). Methoden im Interface, die einen Parameter vom Typ Object annehmen, können aber anscheinend in der Implementierung nicht generalisiert werden: 'public void setSelectedItem(Object anItem)' im Interface wollte ich zu 'public void setSelectedItem(T anItem)' in der Implementierung machen, das Ergebnis war folgende Fehlermeldung:

Name clash: The method setSelectedItem(T) of type GenericComboBoxModel<T> has the same erasure as setSelectedItem(Object) of type ComboBoxModel but does not override it

Kann mir jemand den zugrunde liegenden Sachverhalt für dieses Problem erklären? Noch besser: Kennt jemand eine Lösung?


MfG
HerrRitschwumm
 
Zuletzt bearbeitet:
Zurück