JTableにブール列があるため、各セルにチェックボックスがあります。背景色を変更するためにセルレンダラーを設定しようとすると、セルのチェックボックスが値 (true、false) に置き換えられます。
私のセルレンダラー:
class BackgroundTableCellRenderer extends DefaultTableCellRenderer {
public Component getTableCellRendererComponent(JTable table, Object value,
boolean isSelected, boolean hasFocus, int row, int col) {
Component c = super.getTableCellRendererComponent(table, value,
isSelected, hasFocus, row, col);
if(row%2 == 0)
{
Color bColor = Color.decode("#EFF2ED");
c.setBackground(bColor);
}
else
c.setBackground(Color.white);
return c;
}
}
レンダラーを次のように設定しました。
data_table.setDefaultRenderer(Boolean.class, new BackgroundTableCellRenderer());