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 ステートメントが間違っていると思いますか?1行目は追加できますが、2行目は追加できません。

手伝ってくれてありがとう

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 に答える