JTable Fragen

RMI_17

Erfahrenes Mitglied
Hallo

Ich hab einige Fragen zum JTable!

1. Kann ich sagen alle Spalten haben die Breite 40 Pixel? Wenn der Platz auf dem Frame nicht reicht dann soll ich scrollen können. Der Table liegt natürlich auf nem JScrollPane!

2. Kann ich sagen dass beim scrollen die erste Spalte festgestellt wird und nur die anderen gescrollt werden?

3. Kann ich in eine Zelle mehrzeilig mit unterschiedlichen Schriftarten schreiben

Vielen Dank im Vorraus Rmi
 
>1. Kann ich sagen alle Spalten haben die Breite 40 Pixel?

Ja

>Wenn der Platz auf dem Frame nicht reicht dann soll ich scrollen können. Der Table liegt natürlich auf nem JScrollPane!

Geht über die Horizontal/Vertical-ScrollPolicy.

>2. Kann ich sagen dass beim scrollen die erste Spalte festgestellt wird und nur die anderen gescrollt werden?

Mit Trick, steht auch beim Codeguru afaik, siehe anderen Beitrag.

>3. Kann ich in eine Zelle mehrzeilig mit unterschiedlichen Schriftarten schreiben

Denke schon, wenn der Editor/Renderer entsprechend ausgewählt und implementiert wird.
Ich schlage vor, dass Du Dir die Codeguru-Seite mal näher anschaust, damit Du einen Einblick bekommst, was alles möglich ist. Dazu noch die Technik mit Renderer und Editor sowie TableColumn und TableHeader - danach bist Du fit. :)

Warum landen eigentlich die ganzen Swing-Fragen hier und nicht im Swing-Unterforum?
 
Zuletzt bearbeitet:
Ok

Danke erstmal

ich glaube ich muss die Fragen anders stellen

1. WIE kann ich sagen alle Spalten haben die Breite 40 Pixel? Wenn der Platz auf dem Frame nicht reicht dann soll ich scrollen können. Der Table liegt natürlich auf nem JScrollPane!

2. und 3. haben sich glaub ich schon erledigt

Danke Rmi
 
Das geht ganz einfach:
Code:
JTable tblTabelle = new JTable();

//...deine Einstellungen festlegen...

//
// Ändern der Spaltenbreite von der 1. Spalte:
//
TableColumn tblSpalte = tblTabelle.getColumnModel().getColumn(0);
tblSpalte.setWidth(40);
tblSpalte.setPreferredWidth(40);
//So kann die Spaltengröße nicht mehr verändert werden:
tblSpalte.setResizable(false);
Ach ja, Scrollbalken bringt die Tabelle dann selber, wenn du sie auf den JScrollPane gesetzt hast.

Ich hoffe das war deine Frage! ;)
 
Zurück