/*
* @(#)TableCellRenderer.java 1.18 03/12/19
*
* Copyright 2004 Sun Microsystems, Inc. All rights reserved.
* SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
*/
package javax.swing.table;
import java.awt.Component;
import javax.swing.*;
/**
* This interface defines the method required by any object that
* would like to be a renderer for cells in a JTable
.
*
* @version 1.18 12/19/03
* @author Alan Chung
*/
public interface TableCellRenderer {
/**
* Returns the component used for drawing the cell. This method is
* used to configure the renderer appropriately before drawing.
*
* @param table the JTable
that is asking the
* renderer to draw; 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. For example, 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 if the cell is to be rendered with the
* selection highlighted; otherwise false
* @param hasFocus if true, render cell appropriately. For
* example, put a special border on the cell, if
* the cell can be edited, render in the color used
* to indicate editing
* @param row the row index of the cell being drawn. When
* drawing the header, the value of
* row
is -1
* @param column the column index of the cell being drawn
*/
Component getTableCellRendererComponent(JTable table, Object value,
boolean isSelected, boolean hasFocus,
int row, int column);
}