
java如何设置表格不被修改
用户关注问题
如何在Java中保护表格内容不被用户编辑?
我在使用Java开发应用时,希望表格中的数据是只读的,用户不能修改,应该怎么实现?
通过设置表格模型为不可编辑来保护内容
在Java的Swing中,可以通过自定义TableModel的isCellEditable方法返回false,从而禁止用户编辑表格的单元格。例如,可以继承DefaultTableModel并重写isCellEditable方法,全部返回false,即可实现表格的只读效果。
有没有简单的方法让Java的JTable单元格不可修改?
我不想写太多代码,只想快速设置JTable使其表格内容不可被修改,如何操作?
使用匿名内部类重写isCellEditable实现单元格不可编辑
可以在创建DefaultTableModel时使用匿名内部类的方式,重写isCellEditable方法直接返回false。举个例子:
DefaultTableModel model = new DefaultTableModel(data, columns) {
public boolean isCellEditable(int row, int column) {
return false;
}
};
这样创建的JTable表格内容就无法被用户直接修改。
如何防止Java JTable中的特定列被修改?
我希望Java的JTable中只有某些列能编辑,其它列保持只读,该怎么设置?
重写isCellEditable方法指定可编辑的列
在自定义的TableModel中覆写isCellEditable方法,根据列索引选择返回true或false。比如:
@Override
public boolean isCellEditable(int row, int column) {
// 只有第1列可编辑
return column == 0;
}
这种方式可以灵活控制某些列是否允许编辑。