Para meterte con el "tableCellRenderer", debes de saber vien lo que estas haciendo, ya que este es el encargado de determinar el componenete que en su matoria es una JLabel de dibujar el contenido de determinada celda o serie de celdas.
Si solo es cambiar el color de una columna en especial, no es mucho el problema.
Primero tienes que extender la clase "DefaultTableCellRenderer" y sobre escribirel metodo "getTableCellRendererComponent"
Este metodo regresa un objeto del tipo "Component" que como mensiono en su mayoria es una JLabel, antes de regresar a la JLabel le asignas el color que quieras y listo.
por ejemplo:
public class ColorRenderer extends DefaultTableCellRenderer {
/**
* Metodo que regresa el componente que dibujara el contenido de la celda, en color verde.
*
* @param JTable tabla. La Tabla que invoca el metodo.
* @param Object obj. El tipo de objeto a dibujar.
* @param boolean isSelected. Si esta seleccionada la celda.
* @param boolean foco. Si la celda tiene el foco.
* @param int fila. La fila.
* @param int col. La columna.
*
* @return El tipo de objeto que dibujara el contenido de la celda.
*/
public Component getTableCellRendererComponent(JTable tabla, Object obj, boolean isSelected, boolean foco, int fila, int col) {
JLabel etiqueta = new JLabel();
if(col == 2 {
etiqueta.setOpaque(true);
etiqueta.setBackground(new Color(Color.GRREN));
}
return etiqueta;
} // Fin de getTableCellRendererComponent
}// Fin de la clase.
Y a tu tabla le tienes que decir donde encontrar tu nuevo renderer para un tipo de columna dado.
miTabla.setDefaultRenderer(String.class, new ColorRenderer());
Esta linea hara que todas la columnas que sean iguales a un String, encuentren a su renderen en la clase Colorrenderer.
Cuando entiendes el mecanismo de rendereo de una tabla en Java, puedes hacer cosas muy interesantes.
Espero te sirva.