defaultTableModel "Problem"

Status
Nicht offen für weitere Antworten.

aleksander

Mitglied
Hallo,

ich erstelle zur Zeit ein Java-Programm und bin nun auf folgendes Problem gestoßen.
Das Projekt besteht auf zwei Packages, das eine enthält die Oberfläche (Package "gui"), das andere Package ("data") enthält Klassen zur Bearbeitung der Daten.
Das DefaultTableModel habe ich im Packet "gui" in der Klasse "Kundenverwaltung wie folgt definiert:
Code:
 public DefaultTableModel kundenTabelle = new DefaultTableModel(ueberschrift, 0);

Nun möchte ich über eine Klasse im package "data" auf das DefaultTableModel kundenTabelle" zugreifen. leider bekomme ich dies nicht hin.
mit dem befehl:
Code:
 gui.Kundenverwaltung.this.kundenTabelle.addRow(eintrag);
klappt es nicht.

ich erhalte die folgende Fehlermeldung:
No enclosing instance of the type Kundenverwaltung is accessible in scope

Leider kann ich damit nicht viel anfangen.

Kann mir vielleicht jemand weiterhelfen?[/code]
 
Du brauchst eine Referenz auf das Objekt der Klasse Kundenverwaltung.
Diese Referenz übergibst du der Datenklasse z.B. im Konstruktor.
Dann kannst du dort über diese Referenz die members von Kundenverwaltung ansprechen.
 
aleksander hat gesagt.:
..Wie mach ich das mit der Referenz?
Das hängt davon ab, wo du die Datenklasse erzeugst.
Wenn du z.B. die Datenklasse in Kundenverwaltung erzeugst, dann nimmst du einfach die this-Referenz:
Code:
new Datenklasse(this)
 
Und wie funktioniert es in der Klasse "Verarbeitung" die im Package ("data") ist. Ich will ja von dort aus auf das DefaultTableModel zugreifen, dass in der Klasse "Kundenverwaltung" im Package "gui" ist?
 
aleksander hat gesagt.:
Und wie funktioniert es in der Klasse "Verarbeitung" die im Package ("data") ist. Ich will ja von dort aus auf das DefaultTableModel zugreifen, dass in der Klasse "Kundenverwaltung" im Package "gui" ist?
Code:
private Kundenverwaltung kv;
public Verarbeitung(Kundenverwaltung kv){//Konstruktor
  this.kv = kv;
}

       kv.kundenTabelle.addRow(eintrag);
 
Status
Nicht offen für weitere Antworten.

Zurück
Oben