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
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
Curtir tópico
+ 0
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.
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?
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
Clique aqui para fazer login e interagir na Comunidade :)