简体   繁体   English

为什么最后一个数据总是为空

[英]Why is it the last data is always null

I have a problem getting all the data in jtable.我在获取 jtable 中的所有数据时遇到问题。 The last data that display is always "null" even though i enter data in that cell.即使我在该单元格中输入数据,最后显示的数据也始终为“空”。 Can anyone help me谁能帮我

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

  if (String.valueOf(model_1.getValueAt(i, 0)) != null && !String.valueOf(model_1.getValueAt(i, 0)).isEmpty()) {
    date = String.valueOf(model_1.getValueAt(i, 0));
  }
  if (String.valueOf(model_1.getValueAt(i, 1)) != null && !String.valueOf(model_1.getValueAt(i, 1)).isEmpty()) {
    meal = String.valueOf(model_1.getValueAt(i, 1));
  }
  if (String.valueOf(model_1.getValueAt(i, 2)) != null && !String.valueOf(model_1.getValueAt(i, 2)).isEmpty()) {
    time = String.valueOf(model_1.getValueAt(i, 2));
  }
  if (String.valueOf(model_1.getValueAt(i, 3)) != null && !String.valueOf(model_1.getValueAt(i, 3)).isEmpty()) {
    activity = String.valueOf(model_1.getValueAt(i, 3));
  }
  try {
    System.out.println(date + " " + meal + " " + time + " " + activity);
  }
}

here is my sample output:这是我的示例输出:

2017-10-02 sdfsd 01:30 sdfsdfsf          
2017-10-03 dsfdfs 01:00 null

I guess your jtable is still active so the data hasn't been saved to the model yet.我猜您的jtable仍然处于活动状态,因此数据尚未保存到模型中。

Try to add this before your code:尝试在您的代码之前添加它:

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM