我的问题在于无法在JTable中实现JList,我的代码如下
AbstractTableModel dataModel=new AbstractTableModel(){
    ... ...
    public class getColumnClass(int column){
        return JList.class;
    }
    ... ...
}
可是仍无法显示JList,急救!

解决方案 »

  1.   

    String[] strs = {"A", "S", "D", "F", "G"};    
    JList list = new JList( createData(strs) );
      

  2.   

    如果一定要用JList的话,需要自己写个TableCellEditor放进去。建议使用JComboBox
    javax.swing.table.TableCellEditor celleditor = new javax.swing.DefaultCellEditor (new javax.swing.JComboBox(new String[]{"好","一般","不好"}));
    table.setCellEditor(celleditor);
      

  3.   

    如果要设特殊的几列,用
    table.getColumnModel().getColumn(i).setCellEditor(celleditor);
                                     ^这里是列号,从0开始。
      

  4.   

    谢谢大家,但是在此之前,我应该定义了自己的数据模型dataModel吧?如果是,如何写其中的几个方法呢?
    AbstractTableModel dataModel=new AbstractTableModel(){
      ... ...
      //问题1:下述方法返回何值?
      public Object getValueAt(int row,int count){return ?}
      //问题2:是否需要覆盖下述方法,如果需要,这样写对吗?
      public class getColumnClass(int column){return ComboBox.class;} 
        ... ...  
    }
      

  5.   

    如果
    JComboBox jComboBox1=new JComboBox(new String[]{"好","一般","不好"});

    public Object getValueAt(int row,int count){return jComboBox1;};则运行后各列的值为字符串
    “javax.swing.JComboBox(,0,0,0x0,invalid,layou=...) ”,而非一个JComboBox;急救!
      

  6.   

    请问hoxisoft,creatData是你自己定义的一个方法吗?如果是能否附代码呢?先谢了!
      

  7.   

    ctbgjm(ctbgjm)TableModel的
    public Object getValueAt(int row,int count)
    返回的是界面显示的数据,而不是那个编辑器
    同样
    public class getColumnClass(int column)
    返回应该是数据的类型,如Boolean,String,Double什么的。