package com.vistatec.ocelot.lqi.gui.renderer;
import java.awt.Color;
import java.awt.Component;
import java.awt.Font;
import javax.swing.JLabel;
import javax.swing.JTable;
import javax.swing.SwingConstants;
import javax.swing.border.LineBorder;
import com.vistatec.ocelot.lqi.gui.ColorCellRenderer;
/**
* Renderer for LQI grid header. It displays header cells colored with a specific color.
*/
public class ColorHeaderCellRenderer extends ColorCellRenderer {
/** Serial version UID. */
private static final long serialVersionUID = -7754518222953942417L;
/** The cells border color. */
private Color borderColor;
/**
* Constructor.
* @param color the background color.
* @param borderColor the border color.
*/
public ColorHeaderCellRenderer(Color color, Color borderColor) {
super(color);
this.borderColor = borderColor;
}
/*
* (non-Javadoc)
* @see com.vistatec.ocelot.lqi.gui.ColorCellRenderer#getTableCellRendererComponent(javax.swing.JTable, java.lang.Object, boolean, boolean, int, int)
*/
@Override
public Component getTableCellRendererComponent(JTable table, Object value,
boolean isSelected, boolean hasFocus, int row, int column) {
JLabel label = (JLabel) super.getTableCellRendererComponent(table, value, isSelected, hasFocus,
row, column);
label.setBorder(new LineBorder(borderColor));
label.setFont(label.getFont().deriveFont(Font.BOLD));
label.setHorizontalAlignment(SwingConstants.CENTER);
return label;
}
}