Bom dia pessoal,
estou com o seguinte problema, toda vez que eu insiro um novo registro em um array, ao invés dele ser inserido no índice correto, ele é inserido em todos os índices anteriores ao que eu quero inserir.
Abaixo segue o código do botão inserir que está dentro do método actionPerformed.
if (e.getSource() == btSalvar) {
fun.setNome(tNome.getText());
fun.setEndereco(tEndereco.getText());
fun.setSalario(Float.parseFloat(tSalario.getText()));
if (opc == 1) {
fun.setExameMedico(tsExameMedico.getText());
fun.setIdade(Integer.parseInt(tsIdade.getText()));
fun.setTitulo(Integer.parseInt(tsTitulo.getText()));
fun.setnDependentes(Integer.parseInt(tsnDependentes.getText()));
// Quando é Sócio e não Médico incere 0 nos campos de Médico
fun.setCRM(0);
fun.setTelEmergencia(“0”);
fun.setDiagnostico(“0”);
fun.setReceita(“0”);
} else if (opc == 2) {
fun.setCRM(Integer.parseInt(tmCRM.getText()));
fun.setTelEmergencia(tmTelEmergencia.getText());
fun.setDiagnostico(tmDiagnostico.getText());
fun.setReceita(tmReceita.getText());
// Quando é Médico e não Sócio incere 0 nos campos de Sócio
fun.setExameMedico(“0”);
fun.setIdade(0);
fun.setTitulo(0);
fun.setnDependentes(0);
} else if (opc == 3) {
fun.setExameMedico(tsExameMedico.getText());
fun.setIdade(Integer.parseInt(tsIdade.getText()));
fun.setTitulo(Integer.parseInt(tsTitulo.getText()));
fun.setnDependentes(Integer.parseInt(tsnDependentes.getText()));
fun.setCRM(Integer.parseInt(tmCRM.getText()));
fun.setTelEmergencia(tmTelEmergencia.getText());
fun.setDiagnostico(tmDiagnostico.getText());
fun.setReceita(tmReceita.getText());
}
funcionario[total] = fun;// Copia para o array
total++;
lNumTotal.setText(Integer.toString(total));// atualiza o JLabel
// Total
LimpaCampos();
for (int i = 0; i < total; i++) {// imprime o campo nome de todos os
// registros a cada inserir dado
System.out.println(funcionario[i].getNome());
}
JOptionPane.showMessageDialog(null, “Salvo com Sucesso!”);
Desculpe pessoal, mas aqui esta o código postado corretamente.
[code]if (e.getSource() == btSalvar) {
fun.setNome(tNome.getText());
fun.setEndereco(tEndereco.getText());
fun.setSalario(Float.parseFloat(tSalario.getText()));
if (opc == 1) {
fun.setExameMedico(tsExameMedico.getText());
fun.setIdade(Integer.parseInt(tsIdade.getText()));
fun.setTitulo(Integer.parseInt(tsTitulo.getText()));
fun.setnDependentes(Integer.parseInt(tsnDependentes.getText()));
// Quando é Sócio e não Médico incere 0 nos campos de Médico
fun.setCRM(0);
fun.setTelEmergencia(“0”);
fun.setDiagnostico(“0”);
fun.setReceita(“0”);
} else if (opc == 2) {
fun.setCRM(Integer.parseInt(tmCRM.getText()));
fun.setTelEmergencia(tmTelEmergencia.getText());
fun.setDiagnostico(tmDiagnostico.getText());
fun.setReceita(tmReceita.getText());
// Quando é Médico e não Sócio incere 0 nos campos de Sócio
fun.setExameMedico(“0”);
fun.setIdade(0);
fun.setTitulo(0);
fun.setnDependentes(0);
} else if (opc == 3) {
fun.setExameMedico(tsExameMedico.getText());
fun.setIdade(Integer.parseInt(tsIdade.getText()));
fun.setTitulo(Integer.parseInt(tsTitulo.getText()));
fun.setnDependentes(Integer.parseInt(tsnDependentes.getText()));
fun.setCRM(Integer.parseInt(tmCRM.getText()));
fun.setTelEmergencia(tmTelEmergencia.getText());
fun.setDiagnostico(tmDiagnostico.getText());
fun.setReceita(tmReceita.getText());
}
funcionario[total] = fun;// Copia para o array
total++;
lNumTotal.setText(Integer.toString(total));// atualiza o JLabel
// Total
LimpaCampos();
for (int i = 0; i < total; i++) {// imprime o campo nome de todos os
// registros a cada inserir dado
System.out.println(funcionario[i].getNome());
}
JOptionPane.showMessageDialog(null, “Salvo com Sucesso!”);