TITLE:JTableが使用するBooleanCellEditorの背景色を変更

Posted by terai at 2010-09-06

JTableが使用するBooleanCellEditorの背景色を変更

JTableがデフォルトで使用するBooleanCellEditorの背景色を選択色に変更します。

  • &jnlp;
  • &jar;
  • &zip;

#screenshot

サンプルコード

JTable table = new JTable(model) {
  @Override public Component prepareEditor(TableCellEditor editor, int row, int column) {
    Component c = super.prepareEditor(editor, row, column);
    if(c instanceof JCheckBox) {
      ((JCheckBox)c).setBackground(getSelectionBackground());
    }
    return c;
  }
};

解説

  • 上:デフォルト
    • セルをクリックして編集状態になるとCellEditorとして、背景色が白のJCheckBoxが表示される
  • 下:JTable#getSelectionBackground()
    • BooleanCellEditorとして使用するJCheckBoxの背景色が常にJTable#getSelectionBackground()になるようにJTable#prepareEditor(...)をオーバーライド

コメント