Java 使用getValueAt()方法时如何避免空值?

Java 使用getValueAt()方法时如何避免空值?,java,swing,jtable,Java,Swing,Jtable,当我将值添加到我的JTable并执行save操作方法时,它就会被执行。问题是当我在JTable中输入一个值,比如“TEST”,getValueAt(1,0)返回空。当我输入两个值时,假设表行计数为2,对于I=1,getValueAt(1,0)返回值“TEST”,对于I=2,getValueAt(2,0)返回值为空。我不知道为什么会这样 代码片段: private void jbtSaveActionPerformed(java.awt.event.ActionEvent evt) {

当我将值添加到我的
JTable
并执行
save操作
方法时,它就会被执行。问题是当我在
JTable
中输入一个值,比如
“TEST”
getValueAt(1,0)
返回
。当我输入两个值时,假设表行计数为2,对于
I=1
getValueAt(1,0)
返回值
“TEST”
,对于
I=2
getValueAt(2,0)
返回值
为空。我不知道为什么会这样

代码片段:

   private void jbtSaveActionPerformed(java.awt.event.ActionEvent evt) {                                        

    DefaultTableModel tablemodel = (DefaultTableModel) jTable6.getModel();
    LinkedList<String> paramList = new LinkedList<String>();

    for (int i = 0; i < tablemodel.getRowCount(); i++) {

        System.out.println("Table row count :" + tablemodel.getRowCount());
        System.out.println("i " + i);
        String rowValue = (String) tablemodel.getValueAt(i, 0);
        paramList.add(rowValue);

        System.out.println("row value :" + rowValue);
        System.out.println(paramList.get(i));

    }
    SamIntegerResult intRes1 = svc.saveTSAServices(token, tsaservice, paramList, idList);

    if (intRes1.isSuccess()) {
        JOptionPane.showMessageDialog(this, new JLabel("Saved successfully", JLabel.CENTER), "Save TSA Service", JOptionPane.PLAIN_MESSAGE);
    } else {
        JOptionPane.showMessageDialog(this, "Error saving to database", "Error", JOptionPane.ERROR_MESSAGE);
    }

} 
private void jbtSaveActionPerformed(java.awt.event.ActionEvent evt){
DefaultTableModel tablemodel=(DefaultTableModel)jTable6.getModel();
LinkedList paramList=新建LinkedList();
对于(int i=0;i

你们知道吗?如果是,请发布。

在输入最后一个值时,请尝试以下操作之一:

1) 使用回车键

2) 切换到下一个单元格

3) 用鼠标单击另一个单元格


然后尝试保存。希望这能解决问题。

您能否共享在JTableprivate void jbtadRowactionPerformed(java.awt.event.ActionEvent evt){((DefaultTableModel)jTable6.getModel()).addRow(新对象[]{”“});}我只能看到要添加到数据中的空白字符串。您添加了“TEST”和其他值的代码段是什么。您好Aman Chhabra请参考代码段。。。我在jTable中添加了“TEST”等值,当我保存时,代码片段中提到的方法在我创建的jTable中得到执行,我添加了三个值1)TSM 2)COB 3)SWIFT。执行保存操作(代码段中提到的代码)时,不会显示第三个值(SWIFT)。下面是我在代码片段中提到的代码中添加的sysout:表行计数:3i=0行值:TSM | i=1行值:COB | i=2行值:“empty”。我不知道为什么我在jTable中得到I=2(第三行值)的空值。非常感谢aman,当我按enter键时,问题得到了解决。太好了。很高兴知道。