Estou fazendo um sistema onde todo usuário cadastrado tem o nome e sobrenome e um número de identificação em uma tabela. O problema é que conforme eu vou cadastrando pessoas, o número de identificação vai se alterando em todos os usuários anteriores, ficando todos com o mesmo número.
Pode dar mais detalhes e mostrar o código onde faz a inserção dos registros? Pois isso facilita entender o que pode estar errado.
Abraço.
public class Participante {
private static int id = 0;
private static ArrayList<Participante> participantes = new ArrayList();
public static void adicionaParticipante(Participante participante){
id++;
participantes.add(participante);
participante.getNome();
participante.getSobrenome();
participante.setId(id);
}
//getters e setters
public static ArrayList<Participante> getParticipante(){
return participantes;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
private void atualizarTabela(){
DefaultTableModel dtmdadosTabela = (DefaultTableModel) tabelaParticipantes.getModel();
dtmdadosTabela.setRowCount(0);
for(Participante participante : Participante.getParticipante()){
Object[] dados = {participante.getNome(),participante.getSobrenome(),participante.getId()};
dtmdadosTabela.addRow(dados);
}
}
Onde é que isto é chamado? Estás a criar um new Participante() ou a usar o mesmo objeto e simplesmente fazer set dos atributos?
Quero criar novos objetos
Está resolvido! Faltava utilizar o “this.” no setter.