package CITableTest;

 * Created on September 20, 2000, 5:55 AM

import javax.swing.table.TableCellRenderer;
import javax.swing.*;
import java.awt.Component;
 * @author  Somchai LIMSIRORATANA, Nuntiya LIMSIRORATANA(Yawai)
 * @version 1.0
public class BooleanCellRenderer extends JComboBox implements TableCellRenderer {
    public static final String[] BOOLEAN_TRUE_FALSE = {"True","False"};

    /** Creates new BooleanCellRenderer */
    public BooleanCellRenderer() {

    public BooleanCellRenderer(String[] mode) {
        if (mode.length < 2)
            mode = BOOLEAN_TRUE_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 Boolean) {
             Boolean b = (Boolean)value;
        if (table != null)
            if (table.isCellEditable(row, column)) 
        return this;