У меня есть JCheckBox, работающий в последнем столбце в JTable. Но когда я устанавливаю цвет для ячеек в этом столбце, он, кажется, перезаписывает рендер-объект (JCheckBox).Настройка цвета для ячейки JCheckBox в JTable
Фрагмент кода ниже, что я пытаюсь сделать:
//Overriding these methods using the DefaultTableModel constructor works .
DefaultTableModel model = new DefaultTableModel(data, columnNames)
{
@Override
public Class getColumnClass(int col)
{
return getValueAt(1, col).getClass();
}
@Override
public boolean isCellEditable(int rowIndex, int colIndex)
{
return (colIndex == CHECK_COL);
}
};
JTable table = new JTable(model);
//Constructing and setting a render background and foreground color
DefaultTableCellRenderer renderer = new DefaultTableCellRenderer();
renderer.setBackground(Color.BLACK);
renderer.setForeground(new Color(255, 0, 255));
TableColumn column = table.getColumnModel().getColumn(4);
column.setCellRenderer(centerRenderer);
//Now the last column contains just Boolean values, rather than JCheckBox's when I try set the colors.
Может кто-нибудь понять, как я могу это преодолеть? Спасибо. Высокую оценку
'DefaultTableCellRenderer' основан на использовании' JLabel' – MadProgrammer