package com.vistatec.ocelot.rules;
import java.awt.Component;
import javax.swing.JLabel;
import javax.swing.JTable;
import javax.swing.UIManager;
import javax.swing.table.TableCellRenderer;
/**
* Render {@link DataCategoryFlag} data (fill, border, glyph) in a table cell.
*/
public class DataCategoryFlagRenderer extends JLabel implements TableCellRenderer {
private static final long serialVersionUID = 1L;
public DataCategoryFlagRenderer() {
setOpaque(true);
}
@Override
public Component getTableCellRendererComponent(JTable jtable, Object obj, boolean isSelected, boolean hasFocus, int row, int col) {
DataCategoryFlag flag = (DataCategoryFlag)obj;
if (flag != null) {
setBackground(flag.getFill());
setBorder(hasFocus ?
UIManager.getBorder("Table.focusCellHighlightBorder") :
flag.getBorder());
setText(flag.getText());
}
setHorizontalAlignment(CENTER);
return this;
}
}