Me salto el paso de cómo crear la tabla ya que sino me va a quedar un código bastante amplio. Si alguien necesita que le diga como hacer una Tabla, ya sea con datos desde un archivo, desde BD, nada más que tiene que preguntarmelo.
Vamos allá.
Con la tabla montada, tenemos que hacer lo siguiente:
TablaClientes.setDefaultRenderer(Object.class, new FormatoTablaClientes());
Con esto estamos asignando un nuevo render a nuestra tabla. Para ello nos creamos una nueva clase FormatoTablaClientes que herede (extends) de DefaultTableCellRenderer.
El contenido de esta clase que hereda de DefaultTableCellRenderer es el siguiente:
import java.awt.Color;
import java.awt.Component;
import javax.swing.JTable;
import javax.swing.table.DefaultTableCellRenderer;
public class FormatoTablaUsuarios extends DefaultTableCellRenderer
{
public Component getTableCellRendererComponent
(JTable table, Object value, boolean selected, boolean focused, int row, int column)
{
// SI EN CADA FILA DE LA TABLA LA CELDA 5 ES IGUAL A ACTIVO COLOR AZUL
if(String.valueOf(table.getValueAt(row,5)).equals("ACTIVO")) setForeground(Color.blue);
// SI NO ES ACTIVO ENTONCES COLOR ROJO
else setForeground(Color.red);
super.getTableCellRendererComponent(table, value, selected, focused, row, column);
return this;
}
}
Si queremos que sea solamente el color de una celda, pues en este caso, solamente la celda de ACTIVO o INACTIVO deberíamos poner: if(String.valueOf(table.getValueAt(row,column)).equals("ACTIVO"))
Podemos jugar con lo siguiente:
isSelected -> Si se selecciona la fila, columna, celda, etc... cambiar de color.
focused -> Si se ha hecho el foco sobre algo cambiar el color.
Y todo lo que se os ocurra.
Espero que os haya servido de ayuda y si tenéis cualquier duda sólo tenéis que preguntar :)
Un saludo.