jtable resize

Status
Nicht offen für weitere Antworten.

adriana

Mitglied
Hallo, ich habe ein Frame mit einer kleinen Tabelle drin. Der User soll die Tabelle per Maus vergrössern/verkleinern könnnen. Also quasi an den Rändern per Mausdrag resizen können. Muss ich die jtable dazu erstmal in einen Container stecken, damit das überhaupt möglich ist? Ich habe leider bisher nur Hilfe zum resizen von Spalten und Zeilen gefunden, aber nichts dazu, wie man die Grösse der ganzen Tabelle ändern kann.
 
Woran soll der User denn ziehen :shock:
Bzw. wo liegt die Tabelle in was für einem Container?

Wenn du sie in den CENTER-Bereich eines Borderlayouts packst,
ändert sie ihre Größe automatisch durch Vergrößern des Fensters.
 
In was für einem Container muss ein jtable denn sein, damit man diese Aktionen durchführen kann? Mein jtable ist in einem TableContainer.
 
:shock: Was ist denn ein TableContainer :shock:

Diese Klasse gibt im gesamten SDK nicht? Benutzt du ein eigenes Package?

Wenn die Tabelle in deiner Hauptebende des Frame liegt:

Code:
public MyFrame {
   ...
   getContentPane().add(new JScrollPane(myTable), BorderLayout.CENTER);
   ...
}
 
Hi, das mit dem automatischen Vergrössern wollte ich aber eigentlich nicht. Ich will einfach dass der User mit der Maus die Grösse der Tabelle ändern kann, indem er sie an den Ecken mit der Maus zieht.
 
adriana hat gesagt.:
Hi, das mit dem automatischen Vergrössern wollte ich aber eigentlich nicht.
Schon klar!
adriana hat gesagt.:
mit der Maus die Grösse der Tabelle ändern kann, indem er sie an den Ecken mit der Maus zieht.
Das ist ja das Verständnisproblem. Eine Tabelle hat keine Ecken.

Du kannst auch in keiner GUI an einem Teilbereich mit der Maus ziehen um sie zu
vergrößern. Das einzige, was ich mir vorstellen kann, ist, daß du die Tabelle in ein
nicht-größenänderbares reingetan hast. Wenn du in meinem Beispielscode z.B.
anstelle von BorderLayout.CENTER, BorderLayout.NORTH gewählt hast, dann behält dein
JTable die Größe auch beim Vergrößern des Fensters und der zusätzliche Platz wird einfach
weiß (oder Hellgrau, je nach Hintergrundfarbe).

Vorschlag: Poste doch mal den relevanten Teile wo du die Tabelle mit add(...) in deine GUI
einfügst, incl. eventuell verschachtelter Panels/Layouts
 
Status
Nicht offen für weitere Antworten.

Zurück
Oben