继承JTable,覆写isCellEditable(int row, int col)方法public boolean isCellEditable(int row, int col) {
  if(row==y)return false;
  if(col==x)return false;
  if(row==y && col==x)return false;
}

解决方案 »

  1.   

    同楼上
            public boolean isCellEditable(int row, int col) {
                //Note that the data/cell address is constant,
                //no matter where the cell appears onscreen.
                if (row == 你要不可编辑的行的标识) {
                    return false;
                } else {
                    return true;
                }
            }
      

  2.   

    严重建议不要随便集成SWING的组件,因为这样有可能影响序列化和部署,如果要实现可以写一个AbstractTableModel的内部类,然后继承其isCellEditable,因为SWING的组件是MVC结构的,以后如果要实现重写其某写方法,可以通过改写相应的Model来实现。有错请指点,愿受教。
      

  3.   

    class MyTableModel extends AbstractTableModel {
            public boolean isCellEditable(int row, int col) {
                //Note that the data/cell address is constant,
                //no matter where the cell appears onscreen.
                return 你想返回的是否某行某列可否Edit        }
    还有其他方法要继承重写,如     
       public int getColumnCount() {
                return 2;
            }        public int getRowCount() {
                return data[0].length;
            }        public String getColumnName(int col) {
                return "   ";
            }        public Object getValueAt(int row, int col) {
                return data[col][row];
            }}
    ==方法都是构造这个Table的中数据的方法,其实你开发JTable一般来说就应该写这个Model来控制数据和Render以及Editor的控制,相关技术还有不明可以继续问。
      

  4.   

    请问eddygtimegod(dark),AbstractTableModel 这个类是个什么东东,如何实现啊?谢谢
      

  5.   

    //假设x 为不可编辑的行号
    public boolean isCellEditable(int row, int col) {
      if(row==x)
       return false;
      
      return true;
    }
      

  6.   

    基本同意eddygtimegod(dark) 的说法,不过我觉得只要重载public boolean isCellEditable(int row, int col) 就可以了,其他的可以的方法可以不要考虑!
      

  7.   

    对,不过我想进一步说明JTable数据的来源而已:)