我想要实现的效果是:每次用户开始编辑表中的单元格时,我希望单元格的文本删除最初存在的任何文本(“开始编辑”部分),并且如果没有新文本添加,将文本设置为原始文本(“停止编辑”)
在我看来,我错误地假设 setValueAt 会更改当前正在编辑的单元格中的文本 - 相反,它似乎只会在编辑完成后更改单元格的值(这意味着我可能不会'毕竟不需要我放在“停止编辑”下的代码)
但是,如果确实如此,我不知道如何编辑当前正在编辑的单元格中的文本,所以这是我的问题:How do I Change the text in a cell that is beingediting ?
例如,当我开始编辑“Test bb”时,单元格将更改为没有文本:
这是我的代码:
private void tblEntriesPropertyChange(java.beans.PropertyChangeEvent evt) {
swb.tablePropertyChange(tblEntries, evt);
}
Run Code Online (Sandbox Code Playgroud)
public void tablePropertyChange(JTable jtable, PropertyChangeEvent evt) {
TableModel mdl = jtable.getModel();
int c = jtable.getSelectedColumn();
int r = jtable.getSelectedRow();
if (r >= 0 && c >= 0) {
String text = mdl.getValueAt(r, c) + "";
if (evt.getNewValue() == null) {
System.out.println("Stop Editing");
String newText = mdl.getValueAt(r, c) + "";
if …Run Code Online (Sandbox Code Playgroud)