Vector Problem

Xondio

Grünschnabel
Hallo , ich wollte in ein Vector ein paar Objecte (Instanzen von einer Seblst defenierten Klasse extends JPanel) einfügen und danach wieder auslesen und einem JPanel adden ... mit ca dem code :

Code:
Vector SegVec = new Vector();
DaleSegment segpanel = new DaleSegment();
SegVec.addElement(segpanel);
// auslesen
                        for(int i=0;i<= SegVec.size();i++){
				DaleSegment temp = SegVec.elementAt(i);
			 
				pan.add(temp, i);
			}
Funktioniert jedoch nicht da Java mir sagt das die add() methode von JPanel pan nicht DaleSegment unterstützt ...
das passiert aber nur wenn ich das Objekt aus nem Vector hole ... wenn ich es direkt einfüge geht die add() methode ...

weiss wer warum ? oder wie man das umgehen kann ?
 
Hallo,

das liegt daran, dass du dem Panel nur Elemente hinzufügen kannst die von Component abgeleitet sind. Da aber ein Vector Objecte von der Klasse Object zurückgibt meckert der Compiler halt.
Du kannst entweder dem Vector sagen, von welchem Typ die Elemente sind, die dem Vector hinzugefügt werden
Code:
Vector<DieKlasse> vec = new Vector<DieKlasse>();
oder du castest es nochmal auf deine Klasse bevor du es dem JPanel hinzufügst.

MFG

zEriX
 
Zurück