Das hat leider nicht funktioniert, ich habe das ganze jetzt nocheinmal komplett durchgedacht und bin dem Fehler glaub ich so ziemlich auf die schliche gekommen,
es funktioniert nun insoweit das wenn ich im ActoinEvent der CheckBox den TableListener setze:
[code=Java]
class CheckBoxCellEditor extends AbstractCellEditor implements TableCellEditor
{
static JCheckBox checkBox;
public CheckBoxCellEditor()
{
checkBox = new JCheckBox();
checkBox.setHorizontalAlignment(SwingConstants.CENTER);
checkBox.setBackground(Color.white);
checkBox.addChangeListener(new ChangeListener() {
@Override
public void stateChanged(ChangeEvent e)
{
AlertView.grayout(checkBox.isEnabled());
AlertView.table.validate();
}
});
}
...... // Rest der CheckBox Klasse
//Dies ist innerhalb der GUI HauptKlasse
public static void grayout(boolean CheckboxSelektiert)
{
if (CheckboxSelektiert)
{
table.getColumnModel().getColumn(1).setCellRenderer((new CustomTableCellRenderer()));
table.getColumnModel().getColumn(2).setCellRenderer((new CustomTableCellRenderer()));
table.getColumnModel().getColumn(3).setCellRenderer((new CustomTableCellRenderer()));
table.getColumnModel().getColumn(4).setCellRenderer((new CustomTableCellRenderer()));
}
else
{
table.getColumnModel().getColumn(1).setCellRenderer((new DefaultTableCellRenderer()));
table.getColumnModel().getColumn(2).setCellRenderer((new DefaultTableCellRenderer()));
table.getColumnModel().getColumn(3).setCellRenderer((new DefaultTableCellRenderer()));
table.getColumnModel().getColumn(4).setCellRenderer((new DefaultTableCellRenderer()));
}
}
[/code]
Dann setzt er mir die Farbe NUR wenn ich mit der maus irgendwo in den table klicke!! (zumindest tut er es jetzt iwie)
Jedoch auch mit validate hilft leider nicht...
Wie bekomme ich das hin das sich die Farbe einfach beim selektiern des Buttons ändern bzw wie kann die Hintergrund Farbe einzelner JTable Row's nach einem Event trigger ändern??