2017-02-07 4 views
-1

Es ist eigentlich eine Frage über this. Wie ändere ich das jetzt? Ich benutzte dies, ich konnte meine JPanel Größe ändern, aber ich kann nicht finden, wie man die Tabelle oder den scrollpanel in der Größe ändert. Ich habe 10 Spalten und der Tisch bleibt nur gleich groß.Größe ändern JTable/Scrollpane

Vielen Dank im Voraus

+0

Aufschalten 'getPreferredScrollableViewportSize()', für [Beispiel] (http://stackoverflow.com/search?tab=votes&q=%5bswing%5d%20%5bjtable%5d%20getPreferredScrollableViewportSize). – trashgod

Antwort

1

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:

  1. 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.
  2. Ä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.
  3. Ü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.