L
limaleet
Gast
Hallo!
Mein Vorhaben ist folgendes:
Ich habe eine ArrayList mit Objekten der Klasse "Person" gefüllt. Diese Objekte haben getter für alle Möglichen Informationen (getName, getAlter, getSchuhgröße) sowie toString(), welche einen String zur Gesamtübersicht dieser Person ausgibt und somit alle verfügbaren Informationen dieser Person liefert.
Kurz gesagt möchte ich..
a) alle Personen aus der ArrayList in einer JTable darstellen
b) Bei Klick auf eine Person in einem Editorpane alle Infos über die Person mit toString() ausgeben lassen.
Jetzt stellen sich mir aber diverse Fragen:
1. Ich denke es ist nicht gut, die konkreten Personenobjekte DIREKT in einem Tablemodel zu speichern - das geht auch garnicht, da die Personenobjekte außerhalb erzeugt und manipuliert werden. Genaugenommen befindet sich die Personen-ArrayList in einem "PersonenManager", welcher Methoden wie addPerson, deletePerson, updatePerson etc. bereitstellt. Der Manager kapselt also alle Personen und kann sie manipulieren.
Wie baue ich aber nun am besten das JTable/TableModel?
Das TableModel will ja auch eine Liste mit den Personen - oder zumindest deren Infos... brauche ich eine neue Klasse "PersonenInfo", mit welcher ich die Infos vom PersonenManager ins Table-Model transferiere oder was schlagt ihr vor?
2. Bei Klick auf eine Person in der JTable soll also in einem EditorPane das toString() dieser angeklickten Person ausgegeben werden. Das ausgeben ist ja nicht viel mehr als editorpane.set(person.toString()) - nur woher weiß ich im EditorPane, welche Person angeklickt wurde? Eine Referenz mitzuliefern wäre evt. ganz praktisch, aber wie erwähnt befindet sich das konkrete Personen-Objekt ja in der ManagerKlasse.
Gut, ich könnte dieser Managerklasse eine Methode getAllInfo(int personxy) geben, aber wie müsste den der Link aussehen zwischen Klick auf JTable und dem Anzeigen?
Das wars fürs erste, vielen Dank!
Mein Vorhaben ist folgendes:
Ich habe eine ArrayList mit Objekten der Klasse "Person" gefüllt. Diese Objekte haben getter für alle Möglichen Informationen (getName, getAlter, getSchuhgröße) sowie toString(), welche einen String zur Gesamtübersicht dieser Person ausgibt und somit alle verfügbaren Informationen dieser Person liefert.
Kurz gesagt möchte ich..
a) alle Personen aus der ArrayList in einer JTable darstellen
b) Bei Klick auf eine Person in einem Editorpane alle Infos über die Person mit toString() ausgeben lassen.
Jetzt stellen sich mir aber diverse Fragen:
1. Ich denke es ist nicht gut, die konkreten Personenobjekte DIREKT in einem Tablemodel zu speichern - das geht auch garnicht, da die Personenobjekte außerhalb erzeugt und manipuliert werden. Genaugenommen befindet sich die Personen-ArrayList in einem "PersonenManager", welcher Methoden wie addPerson, deletePerson, updatePerson etc. bereitstellt. Der Manager kapselt also alle Personen und kann sie manipulieren.
Wie baue ich aber nun am besten das JTable/TableModel?
Das TableModel will ja auch eine Liste mit den Personen - oder zumindest deren Infos... brauche ich eine neue Klasse "PersonenInfo", mit welcher ich die Infos vom PersonenManager ins Table-Model transferiere oder was schlagt ihr vor?
2. Bei Klick auf eine Person in der JTable soll also in einem EditorPane das toString() dieser angeklickten Person ausgegeben werden. Das ausgeben ist ja nicht viel mehr als editorpane.set(person.toString()) - nur woher weiß ich im EditorPane, welche Person angeklickt wurde? Eine Referenz mitzuliefern wäre evt. ganz praktisch, aber wie erwähnt befindet sich das konkrete Personen-Objekt ja in der ManagerKlasse.
Gut, ich könnte dieser Managerklasse eine Methode getAllInfo(int personxy) geben, aber wie müsste den der Link aussehen zwischen Klick auf JTable und dem Anzeigen?
Das wars fürs erste, vielen Dank!