Inselraus: Größe und Umrandung von JTable-Zellen
Jede Zelle hat eine bestimmte Größe, die durch den Zellinhalt vorgegeben ist. Zusätzlich liegt zwischen zwei Zellen immer etwas Freiraum. Dieser lässt sich mit getIntercellSpacing() erfragen und mit setIntercellSpacing(…) setzen:
table.setIntercellSpacing( new Dimension(gapWidth, gapHeight) );
Soll die Zelle rechts und links zum Beispiel 2 Pixel Freiraum bekommen, ist gapWidth auf 4 zu setzen, denn das Dimension-Objekt gibt immer den gesamten vertikalen und horizontalen Abstand zwischen den Zellen an.
Die Gesamtgröße einer Zelle ist dann die der Margin-Zeile + Zellhöhe beziehungsweise Margin-Spalte + Zellbreite. Da jedoch setIntercellSpacing(…) die Höhe einer Zeile nicht automatisch anpasst, muss sie ausdrücklich gesetzt werden:
table.setRowHeight( table.getRowHeight() + gapHeight );
Zusätzlich zur Margin erhöht eine Linie den Abstand zwischen den Zellen. Auch dieses Raster (engl. grid) lässt sich modifizieren:
Code
Funktion
table.setShowGrid( false );
Schaltet die Umrandung aus.
table.setShowGrid( false );
table.setShowVerticalLines( true );
Zeigt nur vertikale Linien.
table.setGridColor( Color.GRAY );
Die Umrandung wird grau.
Rastermodifizierung