JTable自动读取空值问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JTable自动读取空值问题相关的知识,希望对你有一定的参考价值。

我正在从JTable中读取第二列的值。在读到最后一行之前,一切都很完美。当我从第二列读取最后一行的值时,它从单元格中读取的是空字符串。我花了整整一天的时间来寻找这个问题的解决方案,但不幸的是,结果出乎意料。

代码如下。

DefaultTableModel tableModel = (DefaultTableModel) jTable1.getModel();
int rows = Integer.parseInt(jTextField8.getText());
String strArr[] = new String[rows];
int count = 0;
System.out.println("Rows : "+rows);
for(int i=0; i<rows; i++){
    for(int j=0 ; j<3; j++){
        if(j==1){
            System.out.println(" i : "+i+" 	j : "+j);
            strArr[count] = (String)tableModel.getValueAt(i, j);
            System.out.println("Value 	: "+(String)tableModel.getValueAt(i, j));
            count++;
        }
    }
}

我从哪里读取值的表。

enter image description here

输出 :

enter image description here

答案

在我看来,你的编辑器仍然处于活动状态,所以你在编辑器中输入的值还没有保存到TableModel中。

在你的按钮的ActionListener中,你需要添加这样的逻辑。

if (table.isEditing())
    table.getCellEditor().stopCellEditing();

或者,当你创建表格时,你可以使用:

JTable table = new JTable(...);
table.putClientProperty("terminateEditOnFocusLost", Boolean.TRUE);

签出: 表停止编辑 更多信息。

以上是关于JTable自动读取空值问题的主要内容,如果未能解决你的问题,请参考以下文章

将 Interactive JTable 的内容保存到 .txt 文件以在下次运行时读取它

如何在jTable中读取和搜索文件?

JTable中的换行,右对齐,自动调整行高

Java JTable 标头自动换行

如何在我的jtable中获得超过100行?

JTable Multiline cell自动换行[复制]