Ik ben een tabel aan het maken (3 kolommen met variable aantal rijen). In kolom 3 zit een combobox met een 2-tal voorgedefinieerde waarden. Verder zit aan de table een cellrenderer gekoppeld. Hier volgt de renderer code.
[code=java] renderer = (new DefaultTableCellRenderer() {
public Component getTableCellRendererComponent(JTable rtable, Object value, boolean isSelected, boolean hasFocus, int row, int column) {
Component cell = super.getTableCellRendererComponent(rtable, value, isSelected, hasFocus, row, column);
if (column == 2) {
cell.setBackground(Color.RED);
}
return cell;
}
});
tableNumbers.setDefaultRenderer(String.class, renderer);
[/code=java]
Nu is het geval dat met deze renderer de 1e en 2e kolom rood worden gekleurd maar ik zou verwachten dat alleen kolom 2 rood wordt gekleurd. Op het moment dat je een combobox in een cell zet wordt de renderer niet meer aangeroepen voor deze kolom. Ik heb dan ook een event gemaakt die de renderer met de juiste waarden aanroept. Na deze wijziging kleurt de volledige tabel behalve de 3e kolom.
1) Hoe kan dat?
2) Hoe kan ik het oplossen?
met vele dank!
[code=java] renderer = (new DefaultTableCellRenderer() {
public Component getTableCellRendererComponent(JTable rtable, Object value, boolean isSelected, boolean hasFocus, int row, int column) {
Component cell = super.getTableCellRendererComponent(rtable, value, isSelected, hasFocus, row, column);
if (column == 2) {
cell.setBackground(Color.RED);
}
return cell;
}
});
tableNumbers.setDefaultRenderer(String.class, renderer);
[/code=java]
Nu is het geval dat met deze renderer de 1e en 2e kolom rood worden gekleurd maar ik zou verwachten dat alleen kolom 2 rood wordt gekleurd. Op het moment dat je een combobox in een cell zet wordt de renderer niet meer aangeroepen voor deze kolom. Ik heb dan ook een event gemaakt die de renderer met de juiste waarden aanroept. Na deze wijziging kleurt de volledige tabel behalve de 3e kolom.
1) Hoe kan dat?
2) Hoe kan ik het oplossen?
met vele dank!