Wie mache ich JTable sowohl AutoResize als auch horizontal scrollbar?
Ich bin putting ein JTable in einem JScrollPane
Aber Wenn ich den JTable Automatisch in der Größe geändert, dann wird es keine horizontale Bildlaufleiste.
wenn ich AUTO_RESIZE_OFF, dann ist die Jtable wird nicht füllen Sie die Breite seines Containers, wenn die Breite der Spalte nicht groß genug ist.
Also, wie kann ich dies tun:
- wenn die Tabelle nicht breit genug ist, zu erweitern, um seine container-Breite
- wenn der Tisch breit genug ist, damit es Scrollbar ist.
Dank
InformationsquelleAutor der Frage Leon | 2011-05-24
Du musst angemeldet sein, um einen Kommentar abzugeben.
Müssen Sie anpassen, das Verhalten der Bildlauffähigen Oberfläche.
Den obigen code im Prinzip die Größe der Komponente an Ihre bevorzugte Größe oder die viewport-Größe, je nachdem, was größer ist.
InformationsquelleAutor der Antwort camickr
Wenn aus irgendeinem Grund die Anpassung JTable ist keine option (z.B. es könnte erstellt werden, die in third-party-code), können Sie das gleiche Ergebnis erzielen, indem Sie Sie zum Umschalten zwischen zwei verschiedenen JTable AUTO_RESIZE Modi, wenn das mit viewport angepasst wird, z.B.:
InformationsquelleAutor der Antwort gb96
Fand ich, dass alles, was benötigt wird ist enthalten
dann, wenn die benötigten viewport-Breite und Höhe berechnet wurden, gehören
InformationsquelleAutor der Antwort Nick Thomas
Wenn Sie das Layout des Containers BorderLayout mit einem BorderLayout.CENTER layout-constraint, dann die JTable automatisch die Größe, um Ihre container.
Wenn Sie möchten, damit eine Komponente Scrollbar, Sie können wickeln Sie die JTable mit einem JScrollPane.
InformationsquelleAutor der Antwort Mohamed Mansour