Tabellen

Hallo!
Die Tabellen von Swing sind ja eigentlich schon recht leistungsfähig und bieten viele Möglichkeiten an. Doch habe ich trotzdem ein Problem:

Der User kann ja die Tabellen beliebig modefizieren, z.B. die Spalten woanders platzieren, Spaltenbreite verändern usw. Auch wenn man die Fenstergröße ändert wird alles umformatiert.

OK, ich will jetzt dem User aber immer von allen Spalten z.B. die Summe anzeigen. D.h. also von der ersten Spalte (egal wie lang sie ist) will ich am unteren Rand die Summe aller Zeilen dieser Spalte anzeigen.
Mir ist bewußt das man dies z.B. in der letzten Zeile anzeigen könnte, aber der User muß bei sehr langen Tabellen auch entsprechend weit scrollen. Bisher habe ich es so gelöst das ich ein TextField unter die jeweiligen Spalten platziert habe und darin das Ergebnis anzeige. Problem: Wenn der User die Tabellenspalten verändert (s. oben) stimmt die Zuordnung nicht mehr überein.

Wie kann ich also eine Tabellenzeile fixieren, soll heißen das diese auch beim scrollen auf der Stelle bleibt und nicht mitscrollt? So das der User immer die Summe sieht.

Oder würdet ihr eine zweite Tabelle (die einzeilig ist) darunter platzieren die dann aber die Veränderungen der oberen Tabelle mitbekommt und entsprechend die eigenen Spalten ändert? Welche Events und Methoden sind dafür nötig?

Gibts da irgend eine Lösung?
Danke!

Hi.

Der User kann ja die Tabellen beliebig modefizieren, z.B. die
Spalten woanders platzieren, Spaltenbreite verändern usw. Auch
wenn man die Fenstergröße ändert wird alles umformatiert.

Das Ändern der Spaltenbreite kannst Du abschalten mit

table.getTableHeader().setResizingAllowed(false);

Das Umsortieren der Spalten kannst Du abschalten mit

table.getTableHeader().setReorderingAllowed(false);

Was die Änderungen der Fenstergrösse anbelangt, so hilft eventuell die Methode JTable.setAutoResizeMode weiter.