galera estou com um projeto aki sobre alunos no qual eu adiciono,busco,altero e removo um aluno de uma lista,sendo que depois de adicionado,faço uma busca através da matricula pra ele retornar o nome do aluno,tudo bem deu certo,mas só q depois quando eu clico em alterar,eu gostaria q o botão que é de confirmar um aluno na lista,virasse um Confirmar Alteração,vou mostrar logo abaixo como q está o código:
Aki está dentro da Visão
public void modoAlteracao()
{
nomeField.setEnabled(true);
matriculaField.setEnabled(true);
A minha dúvida eh em relação a última linha, o método utilizado é esse para o q o botão confirmarButton(q é para Confirmar um aluno),vire um confirmar Alteração?
Outra dúvida é o seguinte no Controle está o meu método ActionPerformed,no qual Clicando no Confirmar Alteração,ele ouve e executa as instruções para esse botão,minha dúvida é o seguinte:eu estou querendo somente atualizar uma lista,quais são os comandos para atualizar uma lista ?
Cara, quanto à ação de incluir ou alterar no mesmo botão vc pode fazer um controle como por exemplo guardar em uma variável se vc clicou em incluir e alterar e então no seu botão de confirmar vc ve qual opção esta na variavel e faz o tratamento isolado para cada caso. Quanto a atualização da lista, depende da lista q vc ta usando, se for Set ele vai descartar objetos iguais, então vc pode alterar e mandar pra ele q de acordo com o hashcode e equals q vc implementou ele mesmo gerencia, collection, list acho q vc teria q fazer a remoção e atualização no unha!
opa consegui atualizar,sem precisar remover,sobreescrevendo o conteúdo estava na lista,obtendo seu autoId e setando os campos nome e matricula…
agora acontece o seguinte:
Quando mando buscar em uma lista(ArrayList),tendo um elemento só na lista,ele executa perfeitamente a busca e traz o nome daquela matrícula para a tela,mas quando tenho mais de um elemento na lista,ele dá erro,aqui vai o código:E o mais estranho é q ele exibe a mensagem:“aluno não encontrado” e logo em seguida quando aperta OK,ele traz o nome para a tela…o q pode está acontecendo ?
else if(comando.equals(“Buscar”))
{
visao.modoBuscar();
Aluno alunoBusca = visao.leAluno();
String mat = alunoBusca.getMatricula(); //System.out.println(mat);
for (Aluno aluno: lista)
if (mat.equals(aluno.getMatricula())){
visao.escreveAluno(aluno);
visao.modoInicial();
}
else {
visao.exibeMensagem("Aluno não existe!");
visao.modoBuscar();
}
}