Swing/IntercellSpacing のバックアップ(No.10)
- バックアップ一覧
- 差分 を表示
- 現在との差分 を表示
- 現在との差分 - Visual を表示
- ソース を表示
- Swing/IntercellSpacing へ行く。
- category: swing folder: IntercellSpacing title: JTableの罫線の有無とセルの内余白を変更 tags: [JTable] author: aterai pubdate: 2011-05-30T16:37:49+09:00 description: JTableの罫線の表示非表示とセルの内余白を変更します。 image:
概要
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);
参考リンク
- JTable#setShowVerticalLines(boolean) (Java Platform SE 8)
- JTable#setShowHorizontalLines(boolean) (Java Platform SE 8)
- JTable#setIntercellSpacing(Dimension) (Java Platform SE 8)