异常是ClassCastException,好找,
但是好像你给的代码没法子找。

解决方案 »

  1.   

    错误原因我也知道,但我在getColumnClass()中打印调试信息时,发现第一列调用了两次,第三列却始终没有调用。
    我的TableModel是:
    Boolean,String,ComboBox,String。。
      

  2.   

    你的这个tablemodel怎么实现的?我猜想你的意思是想用一个ComboBox实现数据的显示是吧,不是简单的把一列强制的cast为Combox,而是使用实现了TableCellEditor和TableCellRenderer interface的类,然后用TableColumn的
        setCellEditor( editor);
        setCellRenderer( render);
      

  3.   

    我没有实现TableCellRenderer ,但在tableModel使用了TableColumn.setCellEditor(new DefaultCellEditor(combox)).之后在MyTableModel.getColumnClass(int col)时System.out.println(col+"  "+class.getName());就发现col有两个0,而没有2大侠请帮忙解决一下,不胜感激!
      

  4.   

    TableColumn.setCellEditor(new DefaultCellEditor(combox))做什么用啊?
    一般都是只setCellRenderer( render)的多,楼主的用法确实奇特。
    偶也是大菜鸟,凭空想象你的错误真的很困难,能不能把你的代码多贴点出来,大家一起研究研究。
      

  5.   

    JComboBox combox = new JComboBox();
        combox.addItem("男");
        combox.addItem("女");
        comboCol.setCellEditor(new DefaultCellEditor(combox));
      

  6.   

    楼主真是有趣啊,给的代码真少.我猜可能是ComboBox处于编辑状态时,Renderer无法识别,建议你在新加行时stopedit.
      

  7.   

    楼主还真敢用啊
    getColumnClass()返回的是该列数据类型的类,ComboBox你也敢用,你那个应该使用TableCellEditor来实现,而且要用JComboBox,竟然敢在swing里添加awt的东西,活腻了
      

  8.   

    getColumnClass()如果你性别用Boolean类型存储的这里要返回Boolean
    要是String这里就是StringJComboBox combox = new JComboBox();
        combox.addItem("男");
        combox.addItem("女");jtable.getColumnModel().getColumn(2).setCellEditor(combox);至于绘制器,String就不用管了,Boolean要自己转一下,可以在TableModel的getValueAt()里做。
      

  9.   

    其实好象一般不用重写getColumnClass()方法。。
      

  10.   

    好象假如JComboBox里面没有内容就会激发这个错误,我也遇到过!
      

  11.   

    relive(六道轮回,无想转生)
    我正是使用你一样的方法,上面我贴的是自定义的一个方法。
    Swing里用awt为什么不可以?而且我并没有使用awt啊,是Jcombobox!
      

  12.   

    getColumnClass(int col);是TableModel接口的方法,你要自定一个拜托换个名字先
    getColumnClass(int col)的主要作用是在getValueAt()得到一个Object后用这个Class来造型,假如你返回是个String("male"),那(JComboBox)"male"当然会出类造型错了实现接口前最好看看接口方法的说明,否则谁也救不了你
      

  13.   

    hehe ,这个问题还没有解决啊。
      

  14.   

    埃!看来大家是都不知道了。
    我 getColumnClass(int col)是系统的方法啊,从AbstractTableModel继承过来的。
      

  15.   

    我看啦,多半你的getColumnClass(int col)需要重载.
    [email protected],把代码发给我或者贴出来吧.