Vector / JTable / ObjektName

Status
Nicht offen für weitere Antworten.

CarloC

Bekanntes Mitglied
Guten Morgen,

ich habe eine Klasse geschrieben, von der ich abhängig von einer Schleife eine bestimmte Anzahl an Objekte erzeugen will. Diese Ojekte will ich danach einem Vector hinzufügen, den ich für eine JTable benutze.

Ich hatte bis jetzt immer den gleichen Namen für die Objekte benutzt:

Code:
        		OrganisationsEinheit orgEinheitObjekt = new OrganisationsEinheit(
        			new ImageIcon(),
					rSet.getString("orgeinheit"),
					rSet.getString("bezeichnung"),
					rSet.getString("id")
        		);

Das führt dann aber später beim verarbeiten der JTable zu einigen Problemen. Ich denke mal, dass das daran liegt, dass die ganzen Objekte den gleichen Namen haben?

Wenn das keine Rolle spielt bitte bescheid sagen!

Wenn doch, müsste ich für die Objekte ja verschiedene Namen benutzen. Zum Beispiel: orgEinheitObjekt1, orgEinheitObjekt2, usw. ich weiß momentan allerdings nicht, wie ich die Zahl an den Namen anhängen soll...


Vielleicht kann mir jemand helfen, danke für die Hilfe...
 
Namen sind Schall und Rauch...

Was ist "rSet"?

Und da ich zufällig gerade einen Organisations-Manager entwickle, kommt mir die JTable auch etwas komisch vor, sind Organisationseinheiten doch hierarchisch (Baum) strukturiert...

Code:
Vector v = new Vector();
for (int i = 0; i < 10; i++) {
  OrganisationsEinheit oe = new OrganisationsEinheit();
  v.addElement(oe);
}

Natürlich sollte man sinnvollerweise die OrganisationsEinheiten erstmal bei der Gelegenheit gleich mit Daten füttern, am besten etwas sinnvolleres als ein leeres ImageIcon 😉
 
Muss es mit einer Tabelle machen...

Code:
while (rSet.next())
        	{   		
        		
        		OrganisationsEinheit orgEinheitObjekt = new OrganisationsEinheit(
        			new ImageIcon(),
					rSet.getString("orgeinheit"),
					rSet.getString("bezeichnung"),
					rSet.getString("id")
        		);

        		data.add(orgEinheitObjekt);
        	}

Wenn ich dich richtig verstanden hab, ist der Objektname also total egal?

Ich krieg nämlich immer Mist raus wenn ich dann später auf die Daten im Vector zugreifen will:

Code:
OrganisationsEinheit orgEinheitObjekt = (OrganisationsEinheit)data.get(0);
			String id = orgEinheitObjekt.getId();

Das liefert mir zum Beispiel immer die "orgeinheit" zurück und nicht die ID. ???:L

OrganoisationsEinheit:

Code:
import javax.swing.ImageIcon;

public class OrganisationsEinheit
{
	private ImageIcon icon;
	private String orgEinheit;
	private String bezeichnung;
	private String id;

	public OrganisationsEinheit(ImageIcon icon, String orgEinheit, String bezeichnung, String id)
	{	
		this.icon = icon;
		this.orgEinheit = orgEinheit;
		this.bezeichnung = bezeichnung;
		this.id = id;
	}

	public ImageIcon getIcon()
	{
		return icon;
	}

	public void setIcon(ImageIcon icon)
	{
		this.icon = icon;
	}

	public String getOrgEinheit()
	{
		return orgEinheit;
	}

	public void setOrgEinheit(String orgEinheit)
	{
		this.orgEinheit = orgEinheit;
	}

	public String getBezeichnung()
	{
		return bezeichnung;
	}

	public void setBezeichnung(String bezeichnung)
	{
		this.bezeichnung = bezeichnung;
	}

	public String getId()
	{
		return id;
	}

	public void setId(String id)
	{
		this.id = id;
	}
}
 
Das stimmt alles. Ich hab mir in der OrganoisationsEinheit Klasse auch mal die ganzen Variablen ausgeben lassen, wenn die Objekte erzeugt werden. Alles richtig... in der JTable wirds auch richtig ausgegeben.

Nur wenn ich dann eine Zelle editieren will (erstmal nur einen Doppelklick reinmache) und die tableChanged Methode aufgerufen wird, klappt das hier:

Code:
 OrganisationsEinheit orgEinheitObjekt = (OrganisationsEinheit)data.get(0);
         String id = orgEinheitObjekt.getId();

nicht mehr. Dann gibt er irgendeinen Driss zurück... meistens die orgeinheit... hm
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Zurück
Oben