Discussion:
Hilfe : >>JTable Spaltenbreite einstellen
(zu alt für eine Antwort)
w***@group-wne.de
2003-11-11 21:31:57 UTC
Permalink
Moin, Moin,

folgendes Problem :

ich fülle eine JTable mit einer SQL Abfrage in IBM Websphere 5.x
Die Daten werden von der SQL Klasse an ein DBTable Model übergeben und das
DBTableModel
an JTable (JTable.setModel(DBTable)) übergeben.

Problem :
Die Spalten der Tabelle werden mit der Default-Breite angezeigt.

Frage :

Wie kann ich die Spaltenbreiten an den Inhalt anpassen ??

Ich habe bereits in diversen Java-Büchern "gestöbert", aber leider keine
funktionierende Lösung gefunden.

Kann mir jemand einen entsprechenden Hinweis für die Lösung geben ??

Gibt es irgendwo einen Link mit ensprechenden Beispielen ??

Wie schreibe ich ein eigenes Table-Model ??

Vielen Dank im voraus :-))

Wolfgang
Tobias Vogele
2003-11-12 00:04:54 UTC
Permalink
Hallo,
Post by w***@group-wne.de
Wie kann ich die Spaltenbreiten an den Inhalt anpassen ??
Das geht mit table.getTableModel().getColumn(index).setWidth().
Allerdings mußt Du dafür eventuell den autoResizeMode anpassen oder
abschalten, weiß nicht genau.
Post by w***@group-wne.de
Wie schreibe ich ein eigenes Table-Model ??
Das hat damit nichts zu tun. Wenn Du das trotzdem tun willst, und oft ist es
sinnvoll, das zu tun, dann leite es am besten von AbstractTableModel ab,
und die Methoden, die Du dann noch implementieren mußt, sind eigentlich
relativ selbsterklärend. Wahrscheinlich mußt Du dann aber auch noch so
Methoden wie getColumnName, getColumnClass und vielleicht isEditable und
setValueAt überschreiben.
Wenn Du konkrete Fragen, meld Dich nochmal.

grüße,

tobi
--
URL: http://www.wartmal.de Email: ***@wartmal.de
w***@group-wne.de
2003-11-12 12:48:24 UTC
Permalink
Moin Tobi,

zunächst einmal danke für die Hilfe. Ein kleines Problem gibt es doch
noch.
Ich möchte natürlich die Spaltenbreite an den Inhalt der Spalte anpassen
(grösster Eintrag). Wie läuft das denn ??
Läuft das über prefferedSize ??

Danke für die Hilfe

Gruss
Wolfgang
Tobias Vogele
2003-11-12 16:24:47 UTC
Permalink
Hallo,
Post by w***@group-wne.de
Ich möchte natürlich die Spaltenbreite an den Inhalt der Spalte anpassen
(grösster Eintrag). Wie läuft das denn ??
Dafür gibt es in TableColumn die Methode sizeWidthToFit() oder, wenn Du es
gleich für alle Spalten machen willst, sollte das laut Doku JTable#doLayout
machen.
Post by w***@group-wne.de
Läuft das über prefferedSize ??
Ja, zumindest bei sizeWidthToFit wird dazu anscheinend die preferredSize des
TableHeader benutzt.

Grüße,

tobi
--
URL: http://www.wartmal.de Email: ***@wartmal.de
Loading...