Hallo,
Problem1:
ich habe eine Datenklasse, die ich auf 2 jTables aufteile und dazu dann eben auch 2 Modells. Basis ist aber 1 Datenklasse.
Die Models erhalten die Datenklasse als Referenz und können dann über getValue und setValue genutzt werden.
Jetzt sind aber auf der Datenklasse auch Methoden verfügbar, die neue Zeilen und Spalten erzeugen bzw. löschen.
Wie sorge ich am Besten für die Konsistenz? Darf also das jeweilige Model Methoden der Datenklasse bereitstellen und aufrufen, oder sollte es auf Änderungen (ChangeListener?) an der Datenklasse reagieren?
Problem2:
Ein Column-Header erhält beim Hinzufügen einer Spalte ein '*', als Kennzeichen dafür, dass sie neu und noch ungespeichert ist. Dazu füge ich in getColumnName einfach beim Rückgabewert das Sternchen an.
Wird nun die Datenklasse gespeichert, soll das Sternchen natürlich weg. Aber das wird nicht angezeigt/aktualisiert. Bisher rufe ich dann den TableStructureChange auf, aber der überschreibt andere Einstellungen, weil er die Tabelle komplett neu aufbaut. Wie geht das anders/geschickter?
Gruß
Zirni
Problem1:
ich habe eine Datenklasse, die ich auf 2 jTables aufteile und dazu dann eben auch 2 Modells. Basis ist aber 1 Datenklasse.
Die Models erhalten die Datenklasse als Referenz und können dann über getValue und setValue genutzt werden.
Jetzt sind aber auf der Datenklasse auch Methoden verfügbar, die neue Zeilen und Spalten erzeugen bzw. löschen.
Wie sorge ich am Besten für die Konsistenz? Darf also das jeweilige Model Methoden der Datenklasse bereitstellen und aufrufen, oder sollte es auf Änderungen (ChangeListener?) an der Datenklasse reagieren?
Problem2:
Ein Column-Header erhält beim Hinzufügen einer Spalte ein '*', als Kennzeichen dafür, dass sie neu und noch ungespeichert ist. Dazu füge ich in getColumnName einfach beim Rückgabewert das Sternchen an.
Wird nun die Datenklasse gespeichert, soll das Sternchen natürlich weg. Aber das wird nicht angezeigt/aktualisiert. Bisher rufe ich dann den TableStructureChange auf, aber der überschreibt andere Einstellungen, weil er die Tabelle komplett neu aufbaut. Wie geht das anders/geschickter?
Gruß
Zirni
Zuletzt bearbeitet: