JTable: setDefaultEditor(Class columnClass, TableCellEditor editor) : JTable « javax.swing « Java by API






JTable: setDefaultEditor(Class columnClass, TableCellEditor editor)

 
import javax.swing.DefaultCellEditor;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.table.AbstractTableModel;
import javax.swing.table.DefaultTableCellRenderer;

public class MainClass extends JFrame {
  ColorName colors[] = { new ColorName("Red"), new ColorName("Green"), new ColorName("Blue"),
      new ColorName("Black"), new ColorName("White") };

  public MainClass() {
    super("Table With DefaultCellEditor Example");
    setSize(500, 300);
    setDefaultCloseOperation(EXIT_ON_CLOSE);

    JTable table = new JTable(new AbstractTableModel() {
      ColorName data[] = { colors[0], colors[1], colors[2], colors[3], colors[4], colors[0],
          colors[1], colors[2], colors[3], colors[4] };

      public int getColumnCount() {
        return 3;
      }

      public int getRowCount() {
        return 10;
      }

      public Object getValueAt(int r, int c) {
        switch (c) {
        case 0:
          return (r + 1) + ".";
        case 1:
          return "Some pithy quote #" + r;
        case 2:
          return data[r];
        }
        return "Bad Column";
      }

      public Class getColumnClass(int c) {
        if (c == 2)
          return ColorName.class;
        return String.class;
      }

      public boolean isCellEditable(int r, int c) {
        return c == 2;
      }

      public void setValueAt(Object value, int r, int c) {
        data[r] = (ColorName) value;
      }
    });

    table.setDefaultEditor(ColorName.class, new DefaultCellEditor(new JComboBox(colors)));
    table.setDefaultRenderer(ColorName.class, new DefaultTableCellRenderer());
    table.setRowHeight(20);
    getContentPane().add(new JScrollPane(table));
  }

  public static void main(String args[]) {
    MainClass ex = new MainClass();
    ex.setVisible(true);
  }

  public class ColorName {
    String cname;

    public ColorName(String name) {
      cname = name;
    }

    public String toString() {
      return cname;
    }
  }
}

           
         
  








Related examples in the same category

1.TableHeader.cellBorder
2.Table.scrollPaneBorder
3.JTable.AUTO_RESIZE_ALL_COLUMNS
4.JTable.AUTO_RESIZE_LAST_COLUMN
5.JTable.AUTO_RESIZE_NEXT_COLUMN
6.JTable.AUTO_RESIZE_OFF
7.JTable.AUTO_RESIZE_SUBSEQUENT_COLUMNS
8.new JTable(Object name, Object[][] data)
9.new JTable(TableModel dm)
10.new JTable(Vector rowData, Vector columnNames)
11.JTable: addColumnSelectionInterval(int index0, int index1)
12.JTable: changeSelection(int rowIndex, int columnIndex, boolean toggle, boolean extend)
13.JTable: clearSelection()
14.JTable: configureEnclosingScrollPane() 'Headerless Table'
15.JTable: createDefaultColumnsFromModel()
16.JTable: getCellSelectionEnabled()
17.JTable: getColumnCount()
18.JTable: getColumnModel()
19.JTable: getColumnSelectionAllowed()
20.JTable: getIntercellSpacing()
21.JTable: getRowCount()
22.JTable: getRowSelectionAllowed()
23.JTable: getSelectedColumns()
24.JTable: getSelectedRows()
25.JTable: getSelectionModel()
26.JTable: getTableHeader()
27.JTable: getValueAt(int row, int column)
28.JTable: isCellSelected(int row, int column)
29.JTable: moveColumn(int column, int targetColumn)
30.JTable: print()
31.JTable: print(PrintMode p, MessageFormat hFormat, MessageFormat fFormat)
32.JTable: removeColumn(TableColumn aColumn)
33.JTable: removeColumnSelectionInterval(int index0, int index1)
34.JTable: removeRowSelectionInterval(int index0, int index1)
35.JTable: selectAll()
36.JTable: setAutoCreateColumnsFromModel(boolean autoCreateColumnsFromModel)
37.JTable: setAutoResizeMode(int m)
38.JTable: setCellSelectionEnabled(boolean cellSelectionEnabled)
39.JTable: setColumnSelectionAllowed(boolean columnSelectionAllowed)
40.JTable: setDefaultRenderer(Class columnClass, TableCellRenderer renderer)
41.JTable: setFocusable(boolean focusable)
42.JTable: setGridColor(Color gridColor)
43.JTable: setIntercellSpacing(Dimension intercellSpacing)
44.JTable: setPreferredScrollableViewportSize(Dimension size)
45.JTable: setRowHeight(int rowHeight)
46.JTable: setRowSelectionAllowed(boolean rowSelectionAllowed)
47.JTable: setRowSelectionInterval(int index0, int index1)
48.JTable: setRowSorter(RowSorter arg0)
49.JTable: setSelectionMode(int m)
50.JTable: setShowGrid(boolean showGrid)
51.JTable: setShowHorizontalLines(boolean showHorizontalLines)
52.JTable: setTableHeader(JTableHeader tableHeader)
53.JTable: setShowVerticalLines(boolean showVerticalLines)
54.JTable: setValueAt(Object aValue, int row, int column)