0

我使用详细的表模型

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语句错了?因为我可以添加第一行而我不能添加第二行。

感谢帮助

4

1 回答 1

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())});
}
于 2013-07-18T08:06:55.523 回答