将相同项添加到JTable时显示错误

时间:2013-07-18 08:01:48

标签: java swing jtable defaulttablemodel

我使用了详细的表格模型

DefaultTableModel model = (DefaultTableModel) jTable1.getModel();

我排计数

int Row = model.getRowCount();

这是我添加行并希望在添加相同项目时显示错误。

if (Row > 0) {

               for(i=0;i<Row; i++){
                   if(jTable1.getValueAt(i,0).equals(name.getText())){       
                    JOptionPane.showMessageDialog(null, "Can't add same item");
               }
               }
    }else if (Row <99) {
        model.addRow(new Object[] {name.getText(),address.getText(),Integer.parseInt(age.getText())});
    }

我猜错了if else声明? 因为我可以添加第1行而我无法添加第2行。

感谢您的帮助

1 个答案:

答案 0 :(得分:0)

不确定你在其他变量中有什么,但我猜你在product_id和name之间有差异吗?

不会更像是

if(jTable1.getValueAt(i,0).equals(name.getText())){

更新:

尝试重写它:

int Row = model.getRowCount();
int boolean exists = false;
for(i=0;i<Row; i++){
   if(jTable1.getValueAt(i,0).equals(name.getText())){       
      JOptionPane.showMessageDialog(null, "Can't add same item");
      exists = true;
      break;
   }       
}


if (!exists && Row < 99) {
     model.addRow(new Object[] {name.getText(),address.getText(),Integer.parseInt(age.getText())});
}