Fórum Dúvida Urgente no Netbeans - Jlist #584281

31/07/2017

0

Bom dia!

Por gentileza, alguém poderia me ajudar:
Tenho o seguinte código:
int cont;
int idade;
String nome;
cont=0;
DefaultListModel item = new DefaultListModel();
while (cont<=10) {
idade = Integer.parseInt (txtIdade.getText());
nome = txtNome.getText();
if (idade>=18) {
item.addElement(nome);
lstClassificados.setModel(item);

}
cont=cont +1;
txtNome.setText ("");
txtIdade.setText ("");
txtIdade.requestFocus();
}

Explicação:
o componente lstClassificados - é um Jlist que iria carregar os nomes dos alunos maiores de idade (18 anos para mais), o problema é que a cada vez que volta a execução ele apaga o nome anterior no jlist.
Esta aplicação não utiliza banco de dados.
Será que alguém saberia me ajudar??

Agradeço muito a atenção,

Ana Clara
Ana Clara

Ana Clara

Responder

Posts

01/08/2017

Santos

Olá, Ana. Tudo bem?

Você conseguiria compartilhar o projeto para que eu consiga executa-lo e procurar o erro, por favor?

Pode ser no drive mesmo.
Responder

Gostei + 0

09/08/2017

Clayton Silva

Bom dia, Ana!
Se esse for seu código completo, acho q sua lógica tá errada, viu? Pq olha só:
A cada vez que esse código é executado, ele vai fazer 10x a seguinte operação:
1 - Pega a idade digitada no edit
2 - Pega o nome digitado no edit
3 - Se a idade for maior ou igual a 18, adiciona um novo elemento no listmodel e seta ele no jList.
4 - Incrementa o contador
5 - Limpa os edits
6 - Envia o foco pro edit de Idade

Então pensa comigo.. ele nunca vai adicionar mais de um nome na lista, pq sempre vai ta repetindo essa operação pra um único nome e idade digitados, certo?

Acho q o ideal seria algo como:

1 - Criar o ListModel
2 - Iniciar o comando while
3 - Pedir que usuário digite nome e idade, por exemplo, através de joptionpane.showinputdialog...
4 - Verificar se a idade é maior ou igual a 18 e, se for, adicionar no listmodel
5 - Setar o listModel no jList.
6 - Incrementar seu contador
7 - Finalizar o comando while

Note que, desta forma, vc estará sempre pedindo pro usuário informar um nome e uma idade de acordo com o número que vc definir no seu comando while. Deu pra entender?
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar