Olá estou fazendo um programa de cadastro de cliente,recuperando o cliente salvo através de um Id ,porém não estou usando banco de dados (estou fazendo isso apenas para treinar o uso do JTable). No entanto ele esta cadastrando 2 clientes com a mesma matricula,nome e situação .
gostaria de saber como eu faço para não aceitar isso.
O programa é composto por uma classe Cliente.java e por uma interface chamada CadCliente.java ,onde no Cliente.java ficam todos os metodos get e set de matricula,
nome,situacao.
[code]package interfaces;
import java.util.ArrayList;
import javax.swing.JOptionPane;
import javax.swing.table.DefaultTableModel;
import modelo.Cliente;
public class Cadcliente extends javax.swing.JFrame {
Cliente idCliente;
ArrayList<Cliente> clientes = new ArrayList();
Object[] obtab = {" ", " ", " "};[/code]
Botão Salvar
private void salvarActionPerformed(java.awt.event.ActionEvent evt) {
Validar();
Salvar();
}
Botão Consultar (mostra no JTable todos os clientes cadastrados)
private void consultarActionPerformed(java.awt.event.ActionEvent evt) {
Consultar();
}
/------/
public void Salvar() {
idCliente = new Cliente();
idCliente.setMatricula(Integer.parseInt(matricula.getText()));
idCliente.setNome(nome.getText());
idCliente.setSituacao(situacao.getText());
clientes.add(idCliente);
JOptionPane.showMessageDialog(null, "Cliente Salvo");
}
[code]public void Consultar() {
DefaultTableModel dtm = (DefaultTableModel) tabela.getModel();
for (Cliente cli : clientes) {
obtab[0] = cli.getNome();
obtab[1] = cli.getMatricula();
obtab[2] = cli.getSituacao();
dtm.addRow(obtab);
}
}[/code]
public void Validar() {
if (matricula.getText().isEmpty()) JOptionPane.showMessageDialog(null, "campo matricula vazio");
if (nome.getText().isEmpty()) JOptionPane.showMessageDialog(null, "campo nome vazio");
if (situacao.getText().isEmpty()) JOptionPane.showMessageDialog(null, "campo situacao vazio");
}