
// ColumnColorRenderer.java
// https://www.tutorialspoint.com/how-can-we-set-the-background-foreground-color-for-individual-column-of-a-jtable-in-java


/* Customize the JTable renderer to set the background and 
   foreground color for a column, and center its text.
*/

import java.awt.*;
import javax.swing.*;
import javax.swing.table.*;


public class ColumnColorRenderer 
                extends DefaultTableCellRenderer 
{
  private Color bgColor, fgColor;   // background, foreground


  public ColumnColorRenderer(Color bgColor, Color fgColor) 
  {
    super();
    this.bgColor = bgColor;
    this.fgColor = fgColor;
    setHorizontalAlignment(JLabel.CENTER);
  }


  public Component getTableCellRendererComponent(JTable table, 
                        Object value, boolean isSelected,   
                        boolean hasFocus, int row, int column) 
  {
    Component cell = super.getTableCellRendererComponent(
          table, value, isSelected, hasFocus, row, column);
    cell.setBackground(bgColor);
    cell.setForeground(fgColor);
    return cell;
  }

} // end of ColumnColorRenderer class
