Swing/IntercellSpacing のバックアップ(No.5)
- バックアップ一覧
- 差分 を表示
- 現在との差分 を表示
- 現在との差分 - Visual を表示
- ソース を表示
- Swing/IntercellSpacing へ行く。
- title: JTableの罫線の有無とセルの内余白を変更 tags: [JTable] author: aterai pubdate: 2011-05-30T16:37:49+09:00 description: JTableの罫線の表示非表示とセルの内余白を変更します。
概要
JTable
の罫線の表示非表示とセルの内余白を変更します。
Screenshot
Advertisement
サンプルコード
add(new JCheckBox(new AbstractAction("setShowVerticalLines") {
@Override public void actionPerformed(ActionEvent e) {
Dimension d = table.getIntercellSpacing();
if (((JCheckBox) e.getSource()).isSelected()) {
table.setShowVerticalLines(true);
table.setIntercellSpacing(new Dimension(1, d.height));
} else {
table.setShowVerticalLines(false);
table.setIntercellSpacing(new Dimension(0, d.height));
}
}
}));
add(new JCheckBox(new AbstractAction("setShowHorizontalLines") {
@Override public void actionPerformed(ActionEvent e) {
Dimension d = table.getIntercellSpacing();
if (((JCheckBox) e.getSource()).isSelected()) {
table.setShowHorizontalLines(true);
table.setIntercellSpacing(new Dimension(d.width, 1));
} else {
table.setShowHorizontalLines(false);
table.setIntercellSpacing(new Dimension(d.width, 0));
}
}
}));
View in GitHub: Java, Kotlin解説
JTable
の罫線を非表示にしてもセルの内余白が0
でない場合、選択状態でその内余白が表示されるので、上記のサンプルでは、JTable#setShowVerticalLines(boolean)
などと一緒に、JTable#setIntercellSpacing(Dimension)
で余白を0
に切り替えています。
- 罫線
JTable#setShowVerticalLines(boolean);
JTable#setShowHorizontalLines(boolean);
- セルの内余白
JTable#setIntercellSpacing(Dimension intercellSpacing);
JTable#setRowMargin(intercellSpacing.height);
JTable#getColumnModel().setColumnMargin(intercellSpacing.width);