Jtable中添加一个Checkbox怎么显示的只是字符串,而不是该对象

解决方案 »

  1.   

    用Tablecolumn类的setCellEditor()或是JTable的setDefaultEditor()设置表格单元的编辑器CellEditor,这个CellEditor由所需的编辑组件继承而来.比如你要选择输入文字,可以继承JTextField,如果想在表格中选择,比如"性别"这一栏,可以继承JComboBox.无论继承哪种组件,都要求implements 接口TableCellEditor然后重写TableModel.isCellEditable()和CellEditor.isCellEditable(),使它们在鼠标单击某个单元时,能返回true
      

  2.   

    to  MagicJ() :谢谢你对我的答复,能否给个例子
      

  3.   

    。。  private DefaultTableModel tableModel1 = new DefaultTableModel() {
        public boolean isCellEditable(int row, int col) {
          if (col == 1) {
            return true;
          }
          else {
            return false;
          }
        }//使得第二列的单元格子可编辑,其他列的单元格子不可编辑
        public Class getColumnClass(int c) {
          return getValueAt(0, c).getClass();
        }//可以使单元格子实现Image,CheckBox等
      };   private JTable jTable1 = new JTable(tableModel1); //MyTableModel。。
          tableModel1.addRow(new Object[] {new ImageIcon("pic_msg03.gif"),
                             new Boolean(false), "John",
                             "male",
                             "23");
      

  4.   

    to yunfly(飞啊※飞啊※飞啊飞) ( :我在单元格中添加一个JButton,显示的却是如下这样
    javax.swing.JButton[,0,0,0x0,invalid,...声名,我的tableModel中的getColumnClass(int c)是如下配置的
        public Class getColumnClass(int c) {
          return getValueAt(0, c).getClass();
        }这到底是怎么回事,真奇怪了
      

  5.   

    to amjn:
    我在单元格中添加一个JButton,显示的却是如下这样
    javax.swing.JButton[,0,0,0x0,invalid,...你是怎么添加的?建议看看<Java专业编程指南>,其中讲的非常详细
      

  6.   

    to : MagicJ() :
    大好人,谢谢你这么有耐心,如下:
    Vector colVector,rowVector,tempVector;colVector=new Vector();
    colVector.add("列1");
    colVector.add("列2");rowVector=new Vector();
    tempVector=new Vector();
    tempVector.add(new JButton("Button"));
    tempVector.add(new Checkbox("chebox"));
    rowVector.add(tempVector);JTable jTable=new JTable(rowVector,colVector);