Tenho uma JTable com uma coluna chamada SITUAÇÃO, onde vai ser listados os valores AGENDADA, REALIZADA, CANCELADA…
E eu quero pegar os valores dessa coluna e setar cores diferentes para cada tipo de situação.
if (tabela.equals("cancelada") {
tabela.setForeground(Color.red);
...
}
[]'s
Cria um cellRender
DefaultTableCellRenderer colorRenderer = new DefaultTableCellRenderer() {
public void setValue(Object value) {
switch (valor) {
case valor1
setForeground(Color.BLUE);
break;
case valor2:
setForeground(Color.Black);
break;
case valor3:
setForeground(Color.Gray);
break;
}
super.setValue(value);
}
};
Depois adiciona na tua tabela
minhaTabela.getColumnModel().getColumn(colunaQueEuQueroPintar).setCellRenderer(colorRenderer);
Daqui a pouco eu testo e mostro o resultado.
[]'s
Testei aqui funcionou perfeito :D~
vlw malucocelo
[]'s
Aqui o código:
DefaultTableCellRenderer colorRenderer = new DefaultTableCellRenderer() {
public void setValue(Object value) {
switch ((String) value) {
case "Agendada":
setForeground(Color.LIGHT_GRAY);
break;
case "Realizada":
setForeground(Color.BLUE);
break;
case "Cancelada":
setForeground(Color.RED);
break;
case "Não compareceu":
setForeground(Color.BLACK);
break;
}
super.setValue(value);
}
};
.
.
.
jTTabela.getColumnModel().getColumn(0).setCellRenderer(colorRenderer);
[]'s