Meu problema é que eu não consigo alterar a cor de background da linha se na celular tiver
um valor do tipo Date, ou do tipo int…
o metodo getTableCellRendererComponent não faz a mudança…
alguem sabe o por quê??
meu código é este:
[code]public class LinhasIntercaladasJtable extends DefaultTableCellRenderer implements TableCellRenderer {
private Color primeiraLinha;
private Color segundaLinha;
public LinhasIntercaladasJtable(Color primeiraLinha, Color segundaLinha){
this.primeiraLinha=primeiraLinha;
this.segundaLinha=segundaLinha;
}
public static final DefaultTableCellRenderer DEFAULT_RENDERER = new DefaultTableCellRenderer();
public Component getTableCellRendererComponent(JTable table, Object value,
boolean isSelected, boolean hasFocus, int row, int column) {
Component renderer = DEFAULT_RENDERER.getTableCellRendererComponent(
table, value, isSelected, hasFocus, row, column);
Color background;
if (isSelected) {
background = new Color(49,106,197);
} else {
if (row % 2 == 0) {
background = primeiraLinha;//Color.white;
} else {
background = segundaLinha;//new Color(230,230,230);
}
}
renderer.setBackground(background);
return renderer;
}
} [/code]
Na hora de setar para minha jTable utilizo esse código:
tbPesquisa.setDefaultRenderer(Object.class, new LinhasIntercaladasJtable(
new Color(255, 255, 255), new Color(245, 245, 245)));
Lembrando… que possuo algumas colunas que tem valores do tipo int, date
e nessas linhas a cor não muda…
Me ajudem…