/*
 * FileNameCellRenderer.java
 *
 * Created on October 20, 2000, 1:51 AM
 */
package CITableTest;

import java.awt.Component;

import javax.swing.JTable;
import javax.swing.JTextField;
import javax.swing.table.TableCellRenderer;
/**
 *
 * @author  Somchai LIMSIRORATANA, Nuntiya LIMSIRORATANA(Yawai)
 * @version 1.0
 */
public class FileNameCellRenderer extends JTextField implements TableCellRenderer {

    /** Creates new FileNameCellRenderer */
    public FileNameCellRenderer() {
        setEditable(false);
    }

    /** This method is sent to the renderer by the drawing table to
     * configure the renderer appropriately before drawing.  Return
     * the Component used for drawing.
     *
     * @param   table       the JTable that is asking the renderer to draw.
     *              This parameter can be null.
     * @param   value       the value of the cell to be rendered.  It is
     *              up to the specific renderer to interpret
     *              and draw the value.  eg. if value is the
     *              String "true", it could be rendered as a
     *              string or it could be rendered as a check
     *              box that is checked.  null is a valid value.
     * @param   isSelected  true is the cell is to be renderer with
     *              selection highlighting
     * @param   row         the row index of the cell being drawn.  When
     *              drawing the header the rowIndex is -1.
     * @param   column          the column index of the cell being drawn
     */
    public Component getTableCellRendererComponent(JTable table,Object value,boolean isSelected,boolean hasFocus,int row,int column) {
        if (value instanceof FileName)
            setText(value.toString());
        if (table != null)
            if (table.isCellEditable(row, column)) 
                setForeground(CellRendererConstants.EDITABLE_COLOR);
            else
                setForeground(CellRendererConstants.UNEDITABLE_COLOR);
        setBackground(table.getBackground());
        return this;
    }
}