对,用removeColumn(TableColumn)可以隐藏该列,但是隐藏了,数据就访问不了了。

解决方案 »

  1.   

    用TableModel保存JTable中的数据,即
    DefaultTableModel lsm = new DefaultTableModel();
    JTable table = new JTable();
    table.setModel(lsm);
    TableColumnModel tcm = table.getColumnModel();
    tcm.removeColumn();//remove your column
    此时虽然在tcm中删除了某列,但在lsm中表格数据仍然在
      

  2.   

    那么删除了,访问数据如何访问,table.getValueAt(int row,int col)?
      

  3.   

    利用DefaultTableModel类的方法getValueAt(int row, int column),最好不用JTable的方法getValue(int row, int column)
      

  4.   

    可是如果数据表中有9列,隐藏了第9列,在用getValueAt(row,8)访问第9列的数据时,会出现ArrayIndexOutOfBoundsException的例外呀。
      

  5.   

    你用哪个对象(或类)调用的getValueOf()方法?是不是JTable类的getValueOf()方法呀?
      

  6.   

    不用JTable类的getVauleOf()方法,用DefaultTableModel类的方法getValueOf(),
    why?
    知道MVC模型吧,JTable只是View,它的实际数据由TableModel控制,即由DefaultTableModel类控制,我想你创建JTable时没有用DefaultTableModel,这个习惯不太好,最好用DefaultTableModel构造JTable