防止JTable中的重复条目

时间:2013-09-24 06:54:34

标签: java swing jtable duplicates

如何防止JTable中的重复条目?

我想停止在表格中输入重复数据。我试过下面的绳索。但它没有用。我的第一个列名是item id。所以我使用了jtable.getValueAt(i, 1)。那是错的。

public void lordTable(JTable jtable, JTextField txtItemID, JTextField txtName, JTextField txtQty, JTextField txtUp) {
    String s = "";
    boolean exists = false;
    for (int i = 0; i < jtable.getRowCount(); i++) {
        s = jtable.getValueAt(i, 1).toString().trim();

        if (txtItemID.getText().equals("")) {
            JOptionPane.showMessageDialog(null, "Enter Invoice Details First");
        } else {
            if (txtItemID.getText().equals(s)) {
                exists = true;
                break;
            }
        }
    }
    if (!exists) {
        DefaultTableModel dd = (DefaultTableModel) jtable.getModel();
        Vector v = new Vector();
        v.add(txtItemID.getText());
        v.add(txtName.getText());
        v.add(txtQty.getText());
        v.add(txtUp.getText());
        Double val = (Double.parseDouble(txtUp.getText())) * (Double.parseDouble(txtQty.getText()));
        v.add(val);
        dd.addRow(v);
    } else {
        JOptionPane.showMessageDialog(null, "data already exist.");
    }
}

1 个答案:

答案 0 :(得分:4)

访问表中第一列为零,即:getValueAt(row,0)。