DefaultComboBoxModel überschreiben

weljo

Bekanntes Mitglied
hi leute brauch mein eigenes comboboxmodel um eine liste schön zu füllen zwar die lösung jedoch ist sie nicht wirklich schön und ich würd gern wissen wiso die schöne variante nicht funktioniert

wie ich mir das vorstelle:
Java:
import java.util.Vector;
import javax.swing.DefaultComboBoxModel;


public class MyComboBoxModel extends DefaultComboBoxModel
{
	public MyComboBoxModel(Vector v)
	{
		super();
		for(int i=0; i<v.size(); i++)
		{
			addElement(v.elementAt(i));
		}
	}

	public void addElement(Engine engine) 
	{		
		super.addElement(engine.getName());
	}
	
	public void addElement(ListItem item) 
	{		
		super.addElement(item.getName());
	}
}

wies funktioniert:
Java:
import java.util.Vector;
import javax.swing.DefaultComboBoxModel;

public class EngineComboBoxModel extends DefaultComboBoxModel
{
	public EngineComboBoxModel(Vector<Engine> v)
	{
		super();
		for(int i=0; i<v.size(); i++)
		{
			addElement(v.elementAt(i));
		}
	}

	public void addElement(Engine engine) 
	{		
		super.addElement(engine.getName());
	}
}
+
Java:
import java.util.Vector;
import javax.swing.DefaultComboBoxModel;

public class ListItemComboBoxModel extends DefaultComboBoxModel
{
	public ListItemComboBoxModel(Vector<ListItem> v)
	{
		super();
		for(int i=0; i<v.size(); i++)
		{
			addElement(v.elementAt(i));
		}
	}
	
	public void addElement(ListItem item) 
	{		
		super.addElement(item.getName());
	}
}


mir ist zwar klar dass es sich um einen allgemeinen vector handelt, jedoch sollte doch bei addElement immer noch das richtige objekt übergeben werden.
 
S

SlaterB

Gast
bei addElement(v.elementAt(i)); in der schönen Variante sind die Elemente des Vektors vom Typ Object,
daher werden deine beiden Spezialmethoden ignoriert,

Java sucht sich nicht zur Laufzeit die passende aus, je nach Typ des Objektes, sowas gibts nicht,
außer bei Vererbung, eine Methode kann dieselbe Methode der Superklasse überdecken, das spielt hier aber keine Rolle,

denkbar wäre ein leerer Konstruktor + zwei Methoden

Java:
public void addEngines(Vector<Engine> v)
    {
        for(int i=0; i<v.size(); i++)
        {
            addElement(v.elementAt(i));
        }
    }

public void addListItems(Vector<ListItem> v)
    {
        for(int i=0; i<v.size(); i++)
        {
            addElement(v.elementAt(i));
        }
    }
und dann die richtige aufrufen,
diese beiden Methoden dürften nicht den gleichen Namen haben, weil zur Laufzeit der Parameter nur noch Vector ist,
nicht mehr unterscheidbar ist

-----

Java:
for(int i=0; i<v.size(); i++)
        {
            addElement(v.elementAt(i));
        }
kann man übrigens auch als
Java:
for(ListItem item : v)
        {
            addElement(item);
        }
schreiben, wenn es um ListItems geht,
 
Zuletzt bearbeitet von einem Moderator:

weljo

Bekanntes Mitglied
wens noch interessirt hab das ganze nochmal schöner gelöst indem ich in meinen Objekten einfach die methode toString überschrieben hab.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
Simon16 compareTo Methode überschreiben Allgemeine Java-Themen 4
H Arraylist mit anderer ArrayList überschreiben Allgemeine Java-Themen 17
I Collection - contains-Methode überschreiben (anonyme innere Klasse) Allgemeine Java-Themen 4
M BufferedImage toString() überschreiben Allgemeine Java-Themen 5
S Methoden Methoden überschreiben Allgemeine Java-Themen 3
J Eintrag in Datei überschreiben Allgemeine Java-Themen 6
M Interface Generische Klassen mit mehreren Typen überschreiben Allgemeine Java-Themen 0
M Classpath Standard Klasse überschreiben Allgemeine Java-Themen 2
A Vererbung finale Methoden überschreiben Allgemeine Java-Themen 24
S compareTo() überschreiben - Problem Allgemeine Java-Themen 8
G Tastenkombinationen überschreiben Allgemeine Java-Themen 3
D Arrays überschreiben sich Allgemeine Java-Themen 2
A ar während der Laufzeit überschreiben Allgemeine Java-Themen 20
R Input/Output Objekte speichern ohne überschreiben Allgemeine Java-Themen 7
Tobse Input/Output Datei Teilweise überschreiben Allgemeine Java-Themen 7
D this mit Objekt überschreiben Allgemeine Java-Themen 17
L Datei sicher löschen/mehrfach überschreiben? Allgemeine Java-Themen 2
N Datei überschreiben Allgemeine Java-Themen 23
M Swing Originaldatei wird gelöscht, anstatt mit temporärer überschreiben (Ubuntu) Allgemeine Java-Themen 9
Meldanor finalize Methode überschreiben für .close() Allgemeine Java-Themen 5
T Mit JNI finale Variablen überschreiben Allgemeine Java-Themen 14
R Dateiarbeit: In Datei weiterschreiben statt überschreiben Allgemeine Java-Themen 5
G toString() von java.io.File überschreiben Allgemeine Java-Themen 8
MQue tableChanged() überschreiben Allgemeine Java-Themen 4
D Instanzmethoden mit statischen Methoden überschreiben Allgemeine Java-Themen 8
ruutaiokwu Per Reflection membervariablen überschreiben / zuweisen / nullen Allgemeine Java-Themen 5
G Button-Array überschreiben und dem Container zufügen? Allgemeine Java-Themen 2
B in file immer 2. zeile überschreiben Allgemeine Java-Themen 8
E *.class ändern/ersetzen/überschreiben. Allgemeine Java-Themen 9
T Final Methode dennoch überschreiben! Allgemeine Java-Themen 10
G static- Methoden überschreiben Allgemeine Java-Themen 10
O Exceptionklasse überschreiben Allgemeine Java-Themen 7
V Methode überschreiben -> leer lassen? Allgemeine Java-Themen 3
R toString() methode überschreiben mit rekursivem aufruf. Allgemeine Java-Themen 8
H zwei Date Variablen überschreiben sich Allgemeine Java-Themen 2
P java.util.List - Typ überschreiben Allgemeine Java-Themen 9
H Methoden überschreiben Allgemeine Java-Themen 4
André Uhres equals überschreiben Allgemeine Java-Themen 31
P Eigenschaften eines Buttons überschreiben/ändern Allgemeine Java-Themen 2
M Array nicht überschreiben? Allgemeine Java-Themen 6
A Objekt überschreiben Allgemeine Java-Themen 6
B Equals Methode überschreiben mit Array Allgemeine Java-Themen 2
N Konsolenzeile überschreiben? Allgemeine Java-Themen 6
N Java Klassen "überschreiben" Allgemeine Java-Themen 28
S java.io.InputStream.read(byte[] b) überschreiben Allgemeine Java-Themen 33
J txt löschen oder txt datei überschreiben Allgemeine Java-Themen 1
M Methode überschreiben? Allgemeine Java-Themen 11
M Mit einem Java Programm Festplatte mit 0 überschreiben Allgemeine Java-Themen 2
meez java.security Datei "überschreiben" Allgemeine Java-Themen 4
M Bean Listener hinzufügen und Methode später überschreiben Allgemeine Java-Themen 27
P Klassen überschreiben Allgemeine Java-Themen 5

Ähnliche Java Themen

Neue Themen


Oben