JTable Spaltengröße
-
Mh, bin wohl doch zu doof für JAVA hab schon wieder das nächste Problem.
Ich hab eine jtable und nun sich ich in diesem Editor nach der Möglichkeit, die Spaltengröße dynamisch anzupassen.In der Ersten Spalte steht das Wort "Monat". Wenn ich nun
autoResizeMode
auf off setze wird mir die Tabelle zu breit. Bei den anderen Funtionen schrumpft die wiederrum zu sehr zusammen.
Hab mir jetzt überlegt das ich 2 Tabellen nebeneinander mache, um wenigstens die 1. Spalte großgenug zu haben. Gibt es irgendwo in dem Wirrwar von JAVA sowas wie "setcolumnsize" und haben die Spalten einen eigenen Index den man ansteuern kann?
Sorry wenn ich euch nerve, aber hab halt erst angefangen mit JAVA
mfg blub
-
Dafür solltest Du einen neuen Beitrag erzeugen sonst mischt sich das und die Wiederauffindbarkeit nimmt ab.
Edit: Ich habe den Thread mal geteilt ... die Antworten bitte nur hier und nicht im alten Thread - Danke!
-
CengizS schrieb:
Dafür solltest Du einen neuen Beitrag erzeugen sonst mischt sich das und die Wiederauffindbarkeit nimmt ab.
Tschuldigung, wollt net glei das ganze Forum mit meinen Fragen quälen
mfg blub
-
Fragen stellen kannst du immer nur sollte man halt thematisch vorgehen. Pro Thread nur ein Thema; das hilft uns eine gewisse Ordnung im Forum beizubehalten.
-
Wie ich die Spaltengröße bestimmen kann weiß ich nun und zwar hab ich dafür folgende Sache im Netz gefunden:
tbl_Kalender.getColumnModel().getColumn(1).setPreferredWidth(20);
Das Problem bei dieser Funktion/Methode (oder wie auch immer ) ist das die Zahl in der Klammer von getColumn der Index einer Spalte ist und somit nur diese eine Spalte in der Größe verändert wird. Mir fehlt jetzt die Möglichkeit das ich nun für alle Spalten die gleiche größe festlegen kann.
Hat da jemand ne Idee?
mfg blub
-
Hol dir doch die Anzahl der Spalten und setze in einer Schleife alle Spaltenbreiten auf einen definierten Wert?
-
Mh, gute Idee.
Also ich probier das mal mit meinem Newbiewissen zu formulieren:
die Schleife wäre dann in etwa so:
int col;
for(int i=1; i==31; i++)
{
col=i;
}Einen int-Wert brauch ich ja für den Index, zumindest hab ich das so verstanden .
So ich überleg grad wie ich die Sache in eine Methode oder Funktion legen kann damit der int_Wert dann richtig an .getColumn(int). übergeben kann.
Weiß auch nicht ob ich noch in die richtige Richtung arbeite. Die einzige Alternative die mir noch einfällt, wäre jeder Spaltengröße von Hand einen Wert zu geben, was aber nicht grad von Programmierkunst zeugt .
mfg blub
-
So ich habs geschafft das er das macht was ich will und zwar so:
private void jbInit() throws Exception { tbl_Kalender.getColumnModel().getColumn(0).setPreferredWidth(40); for(int i=1; i<=32; i++) { tbl_Kalender.getColumnModel().getColumn(i).setPreferredWidth(25); } }
Danke für die Idee mit der Schleife, hat mich dann zur gebracht.
mfg blub