在JTable中加入复选框JCheckbox,直接加是加不上去的,因为它自动将JCheckbox转为String,只有通过JTable的的tableModel将columnClass设为Boolean就可以了。要设置选中与不选中,将该单元格的值设置为Boolean.true 或Boolean.false。
下面这段代码是为checkbox单独设置的渲染器,背景色为红色,选中时的背景色为绿色。
class TestTableCellRenderer extends JCheckBox implements TableCellRenderer{
public TestTableCellRenderer(){
setBackground(Color.red);
setForeground(Color.yellow);
setOpaque(ture);
}
@Override
public Component getTableCellRendererComponent(JTable table,
Object value, boolean isSelected, boolean hasFocus, int row,
int column) {
if(isSelected){
setBackground(Color.green);
}
Boolean b = (Boolean) value;
this.setSelected(b.booleanValue());
return this;
}