JTable.setValueAt(Object obj, int row, int column);
在编辑 JTable 时不起作用。我找到了一种可以观察表格是否被编辑的方法。
if ("tableCellEditor".equals(evt.getPropertyName())) {
if (table.isEditing()) {
String value = table.getValueAt(table.getSelectedRow(), 2).toString();
if(value.equals("0")){
System.out.println(value);
table.setValueAt("", table.getSelectedRow(), 2);
}
}
}
这给我输出值 0。但设置值什么都不做...基本上我想在这个单元格中编辑期间删除 0。
最佳答案
当您开始编辑单元格时,表格将从表格模型中获取数据并将其显示在编辑器中。因此更改表格模型不会影响编辑器。
您想要做的是获取编辑器并更改编辑器中的值。代码可能类似于:
JTextField editor = table.getEditorComponent();
editor.setText(...);
关于java - 在 JTable 中编辑期间更改值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47952181/