Java Reference
In-Depth Information
public Component getListCellRendererComponent(JList list, Object value,
int index, boolean isSelected, boolean cellHasFocus) {
listRenderer =
(DefaultListCellRenderer)listRenderer.getListCellRendererComponent(
list, value, index, isSelected, cellHasFocus);
configureRenderer(listRenderer, value);
return listRenderer;
}
public Component getTableCellRendererComponent(JTable table, Object value,
boolean isSelected, boolean hasFocus, int row, int column) {
tableRenderer =
(DefaultTableCellRenderer)tableRenderer.getTableCellRendererComponent(
table, value, isSelected, hasFocus, row, column);
configureRenderer(tableRenderer, value);
return tableRenderer;
}
}
To demonstrate the use of this new combined renderer and show a simple table cell editor,
the program shown in Listing 18-15 creates a data model in which one of the columns is a
Color . After installing the renderer twice and setting up the table cell editor, the table can be
shown and the Color column can be edited.
Listing 18-15. Table Cell Editor Sample
import javax.swing.*;
import javax.swing.table.*;
import java.awt.*;
public class EditableColorColumn {
public static void main(String args[]) {
Runnable runner = new Runnable() {
public void run() {
Color choices[] = {Color.RED, Color.ORANGE, Color.YELLOW,
Color.GREEN, Color.BLUE, Color.MAGENTA};
ComboTableCellRenderer renderer = new ComboTableCellRenderer();
JComboBox comboBox = new JComboBox(choices);
comboBox.setRenderer(renderer);
TableCellEditor editor = new DefaultCellEditor(comboBox);
JFrame frame = new JFrame("Editable Color Table");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
TableModel model = new ColorTableModel();
JTable table = new JTable(model);
Search WWH ::




Custom Search