做个类 JCustomComboBox extends JComboBox implements ItemListener然后table1.getColumnModel().getColumn(0).setCellEditor(new JCustomComboBox ());
应该可以!!

解决方案 »

  1.   

    这样不行吧,我现在在仿着oracle创建表的程序写,数据类型是JComboBox
    我这一列设置的都是JComboBox,可是用ItemListener,完全乱套了
    我是不是这一列用的是同一个对象的JComboBox,所以执行的话,全部都是一样的值?
    如果是这样,该怎么解决呢
      

  2.   

    这是CellEditor
    class MyTableCellEditor1 extends AbstractCellEditor implements TableCellEditor
    {
    Vector vector = null;
    JComboBox combobox = null;
    public Component getTableCellEditorComponent(JTable table, Object value,boolean isSelected, int rowIndex, int vColIndex)
    {
    vector = new Vector();
    combobox = new JComboBox(vector);
    if(vector.size()>0)
    {
    vector.removeAllElements();
    }
    vector.add("1");
    vector.add("2");
    if (isSelected)
    {
    setForeground(table.getSelectionForeground());
    combobox.setBackground(table.getSelectionBackground());
    }
    else
    {
    setForeground(table.getForeground());
    setBackground(table.getBackground());
    }
    combobox.setSelectedItem(value);
    return combobox;
    }
    public Object getCellEditorValue()
    {
    return combobox.getSelectedItem().toString();
    }
    }
    EditorRenderer
    DefaultTableCellRenderer colorColumnRenderer2 = new DefaultTableCellRenderer();
    一列绑定
    table1.getColumnModel().getColumn(1).setCellEditor(new MyTableCellEditor1());
    table1.getColumnModel().getColumn(1).setCellRenderer(colorColumnRenderer2);
    怎么样做这个JComboBox的事件呢?是用ItemListener事件还是什么事件