2010-11-18 12 views
0

Ich habe das folgende Problem: Ich habe eine JTable innerhalb einer JScrollPane, und die Tabelle hat 20 Zeilen. Ich möchte jedoch, dass das JScrollPane nur 10 Zeilen gleichzeitig anzeigt (also muss man nach unten scrollen, um den Rest der Zeilen zu sehen). Ich verwende GridBagLayout, um den JScrollPane zu positionieren.Standard-Anzeigebereich von JScrollPane in Java

Irgendwelche Vorschläge? Vielen Dank.

Antwort

0
table.setPreferredScrollableViewportSize(...); 

Sie können die bevorzugte Breite mit der Methode getPreferredSize() der Tabelle ermitteln.

Sie müssen die Höhe als Höhe des Tabellenheaders zuzüglich der Höhe der Zeilen angeben, die mit table.getRowHeight() ermittelt werden können.

+0

Dies funktioniert, obwohl ich ein wenig mit dem Layout-Manager optimieren muss. Vielen Dank! –

0

Wenn Sie die Höhe der Zeilen kennen, können Sie die JScrollPane in eine Fläche mit einer expliziten Höhe setzen. Wenn Sie die explizite Höhe auf dem Panel WRT erreichen, könnte der Layout-Manager der schwierige Teil sein.