JTable getColumn().getWidth() liefert falsche Werte zurück

Alles was mit Swing und AWT zu tun hat

Moderatoren: wegus, Olek77

Antworten
Sorontik
Beiträge: 1
Registriert: 16.03.2014, 14:57

JTable getColumn().getWidth() liefert falsche Werte zurück

Beitrag von Sorontik » 16.03.2014, 15:14

Hi,
ich habe folgendes Problem:

ich zeige den Inhalt eine SQL-Datenbank mithilfe einer JTable an. Dabei sollen die verschiedenen Spalten gefiltert werden können, die eingabe der Kriterien läuft über ein JTextField und funktioniert bestens. Das Problem ist, dass ich die breite der Filter an die Breite der Spalten anpassen will, wozu ich die Spaltenbreite auslesen muss, ebenfalls kein Problem:

JTable.getColumnModel().getColumn().getWidht()

liefert mir auch meistens den richtigen Wert. Wenn z.B. die Fenstergröße geändert wird, stimmt alles, aber wenn ich zu einem anderen Zeitpunkt die methode aufrufe gibt sie mir den defaultwert 75 px zurück.

wenn ich vorher noch JTable.validate() aufrufe, wird immerhin nicht mehr der default-wert zurückgegeben, allerdings auch nicht die tatsächliche breite der Spalten(die immer richtig angezeigt wird) sondern die Breite, die die Spalten hätten, wenn sie alle gleich breit wären.

vllt hatte ja einer von euch auch schon mal das Problem und kennt eine Lösung/einen Workaround.
ich bin langsam am verzweifeln

mfg Sorontik

Antworten