konnte ich meine JPanel, um die Größe, aber ich kann nicht finden, wie die Tabelle oder scrollpane zu ändern.
Das Problem ist, dass das JPanel ein FlowLayout verwendet. Ein FlowLayout berücksichtigt die bevorzugte Größe jeder Komponente, die dem Panel hinzugefügt wird. Im Beispielcode wird die Tabelle daher in ihrer standardmäßigen bevorzugten Größe angezeigt.
Ein paar Lösungen:
- Es besteht keine Notwendigkeit für das Panel. Fügen Sie einfach den Scrollpanel direkt zum Rahmen hinzu. Die Tabelle wird größer/kleiner, wenn sich die Bildgröße ändert.
- Ändern Sie den Layout-Manager des Bereichs in einen Bereich, in dem die hinzugefügten Komponenten den verfügbaren Platz erweitern können. Wieder wird der Tisch nach Bedarf wachsen/schrumpfen.
- Überschreiben der
getPreferredScrollableViewportSize(...)
Methode des JTable
. Dies überschreibt die standardmäßige bevorzugte Größe der Tabelle. Die Tabelle kann abhängig vom verwendeten Layout-Manager wachsen/schrumpfen.
Aufschalten 'getPreferredScrollableViewportSize()', für [Beispiel] (http://stackoverflow.com/search?tab=votes&q=%5bswing%5d%20%5bjtable%5d%20getPreferredScrollableViewportSize). – trashgod