/**
*
*/
package org.korsakow.ide.ui.components.code;
import java.awt.Color;
import java.awt.Component;
import javax.swing.JLabel;
import javax.swing.JTable;
import javax.swing.JTextField;
import javax.swing.border.Border;
import javax.swing.table.DefaultTableCellRenderer;
import org.korsakow.ide.code.k5.K5Code;
public class CodeCellRenderer extends DefaultTableCellRenderer
{
private final Border border = new JTextField().getBorder();
public CodeCellRenderer()
{
}
@Override
public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int col)
{
K5Code code = (K5Code)value;
if (code != null)
value = code.getRawCode();
JLabel label = (JLabel)super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, col);
label.setBorder(border);
if (code != null)
label.setForeground(code.isValid()?Color.black:Color.red);
else
label.setText("-");
label.setBackground(Color.white);
label.setForeground(Color.black);
if (isSelected && table.getSelectedColumn()==col) {
label.setBackground(CodeCellEditor.SELECTION_BACKGROUND);
label.setForeground(Color.white);
}
return label;
}
}