在按键上做一个按键监听,点击后,使选中的单元格不能编辑代码附上。。。。jb.addActionListener(new ActionListener() {public void actionPerformed(ActionEvent e) {String[] arr = {};for(int i=0;i<tag.length/3;i++){if(table.getValueAt(i, 2).equals("closed")){s1.add(i);}}for(Integer s2:s1) { boolean flag = false; for(Integer s3:s) { if(s2.equals(s3)) { flag = true; break; } } if(!flag){ System.out.println(tag[s2]); arr = inster(arr,tag[s2]); } } //s2是得到的不同单元格的行数,要把第3列跟得到的行数在这里循环使不能编辑。 //目的是通过对比,得到变化的单元格,点这个按键使单元格不能编辑。单元格坐标已经得到。}
这很简单:楼上的人会杀了你,不是2楼,绝对不行,我刚开始做的,现在想想,真的很依赖于Java源代码 jTable1 =新javax.swing.JTable (){ super.changeSelection(rowIndex,列,切换,延长); 的公共无效changeSelection(rowIndex,诠释columnIndex,布尔切换,??布尔扩展){ super.editCellAt(rowIndex的列,NULL); } }; 所以jTable1对象后只需点击进入编辑状态; 因为JTable中总是自动调用changeSelection方法,不要求你,以确定是否有重点 你一定会体验,表格不集中,取消单元格的数据不能保存,(jTable.isEditing() ){ jTable.getCellEditor()。 stopCellEditing(); } ----------补充------- >稳赚不赔中国人?在特定的光标是对你很重要吗? 我的QQ:7706189,再加上我解释,
需要重写JTable 的 isCellEditable 方法。如下,继承JTable,使指写的行列,在isCellEditable方法中返回是false即可使之不可编辑。Class MyTable extends JTable{public boolean isCellEditable(int row,int col){}}具体逻辑有些麻烦。需要做出一个二维数组来记录。可以参考JDK中的demo