java - 编辑单元格时刷新行

标签 java swing jtable abstracttablemodel

我在使用此 JTable 时遇到问题。我这样编辑一个单元格

editing

然后我按回车键提交更改。在这里我希望表 gui 刷新新值。

commit

但它们不显示,它们仅在我这样更改选择时显示

change selection

fireTableCellUpdated( inRow, inCol ); 是当我编辑单元格时在 tableModel 中调用的方法。

我不确定当 fireTableCellUpdated 到 jtable 以重绘和重新验证时,我是否必须向 tableModel 添加监听器。

一些代码:

这在 tableModel 中调用。

@Override
public void setValueAt( Object inValue, int inRow, int inCol ) {
    ProductRow productRow = (ProductRow)( getRowsData().get(inRow) );

    //more code 
    productRow.setCantidad( inValue.toString() );  // when this is called all properties are updated from ProductRow                 
    fireTableCellUpdated( inRow, inCol );
}

最佳答案

如果更改特定单元格会更新同一行中的其他单元格(假设这就是您所追求的),则您的 last attempt in your answer使用正确的方法,只是参数不正确:-)

@Override
public void setValueAt( Object inValue, int inRow, int inCol ) {
    ProductRow productRow = (ProductRow)( getRowsData().get(inRow) );
    // when this is called all properties of productRow are changed.   
    productRow.setCantidad( inValue.toString() ); 
    // note: both parameters are _row_ coordinates
    fireTableRowsUpdated(inRow, inRow); 
}

关于java - 编辑单元格时刷新行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17676792/

相关文章:

java - 我可以突出显示 JLabel 中的文本吗?

java - 在 OS X 上使用屏幕菜单栏时如何使菜单项加速键起作用

java - 对具有字符串列(其值看起来是数字)的数据集进行分区和存储。再次读取时,数据仍然是 "string",但丢失了零

java - 迭代器类型错误

java - JNI : transfer a multiple-dimension java array to c program

Java,如何从一帧中刷新另一帧中的JTable

java - JTable 上只有一行可编辑

java - 在java中,我如何检查用于输入成绩的数组的输入验证(不能为负数,不能超过100)

java - jTable 开头的复选框

java - 将 JTable 值与其他 JTable 值集进行比较