title: Customizing my Cell Renderer to change one cells colour?
body: <p>note: this code is not mine, I have taken it from another site and i'm simply trying to modify it.</p>
  
  <p>I have a JTable with a load of details however, I want it so that when I change a particular cell for the first cell to change colour. Currently this code just highlights the row when I click on it, but I want it so that if I change one of the values to another number, the name cell for example to change red. I have tried a few things (if statements) but can't seem to work it. Any help would be great.</p>
  
  <pre><code>import javax.swing.*;
  import javax.swing.table.*;
  import java.awt.*;
  
  public class CustomCellRenderer{
     JTable table;
     TableColumn tcol;
     public static void main(String[] args) {
     new CustomCellRenderer();
     }
  
    public CustomCellRenderer(){
     JFrame frame = new JFrame("Creating a Custom Cell Reanderer!");
     JPanel panel = new JPanel();
     String data[][] = {{"Vinod","Computer","3"},
      {"Rahul","History","2"},
      {"Manoj","Biology","4"},
      {"Sanjay","PSD","5"}};
     String col [] = {"Name","Course","Year"};
     DefaultTableModel model = new DefaultTableModel(data,col);
     table = new JTable(model);
     tcol = table.getColumnModel().getColumn(0);
     tcol.setCellRenderer(new CustomTableCellRenderer());
     tcol = table.getColumnModel().getColumn(1);
     tcol.setCellRenderer(new CustomTableCellRenderer());
     tcol = table.getColumnModel().getColumn(2);
     tcol.setCellRenderer(new CustomTableCellRenderer());
     JTableHeader header = table.getTableHeader();
     header.setBackground(Color.yellow);
     JScrollPane pane = new JScrollPane(table);
     panel.add(pane);
     frame.add(panel);
     frame.setSize(500,150);
     frame.setUndecorated(true);
     frame.getRootPane().setWindowDecorationStyle(JRootPane.PLAIN_DIALOG);
     frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
     frame.setVisible(true);
     }
  
    public class CustomTableCellRenderer extends DefaultTableCellRenderer{
     public Component getTableCellRendererComponent (JTable table, 
   Object obj, boolean isSelected, boolean hasFocus, int row, int column) {
     Component cell = super.getTableCellRendererComponent(
      table, obj, isSelected, hasFocus, row, column);
     if (isSelected) {
     cell.setBackground(Color.green);
     } 
     else {
     if (row % 2 == 0) {
     cell.setBackground(Color.lightGray);
     }
     else {
     cell.setBackground(Color.lightGray);
     }
     }
     return cell;
     }
     }
   } 
  </code></pre>