小编Zhi*_*010的帖子

如何在编辑时更改 JTable 单元格文本?

我想要实现的效果是:每次用户开始编辑表中的单元格时,我希望单元格的文本删除最初存在的任何文本(“开始编辑”部分),并且如果没有新文本添加,将文本设置为原始文本(“停止编辑”)

在我看来,我错误地假设 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)

java swing jtable

1
推荐指数
1
解决办法
3467
查看次数

标签 统计

java ×1

jtable ×1

swing ×1