Resetar o programa quando aperta no botão OK

Tem alguma maneira de quando apertar no botão ele resetar o programa?
ou quebrar o programa não sei bem, vamos dizer assim, o botão OK vai verificar qual o número que o usuário digitou, sendo no máximo 4, eu aperta 1, aparece lá
EX:
Se eu colocar 1 e apertar Ok aparece
Nome…Sexo…Idade >>> Jogador 1

Se eu colocar 2 e apertar Ok aparece
Nome…Sexo…Idade >>> Jogador 1
Nome…Sexo…Idade >>> Jogador 2

Se eu colocar 3 e apertar Ok aparece
Nome…Sexo…Idade >>> Jogador 1
Nome…Sexo…Idade >>> Jogador 2
Nome…Sexo…Idade >>> Jogador 3

Se eu colocar 4 e apertar Ok aparece
Nome…Sexo…Idade >>> Jogador 1
Nome…Sexo…Idade >>> Jogador 2
Nome…Sexo…Idade >>> Jogador 3
Nome…Sexo…Idade >>> Jogador 4

O código maravilha, está funcionando bem, mais se depois quero diminuir, vamos dizer depois de ter colocado 4 e querer que aparece só 2, aí coloco 2 e aperto OK, mais nada acontece continua mostrando os 4. Me disseram que tem que quebrar o programa, mais não entendi bem o que é isso.

Ele começa sem nenhum campo só o JTextField pra digitar qual número de jogadores quer que apareça e o JButton OK.

como faço isso? intenderam minha dúvida? O código está anexado, só executar! o que eu quero é simples(pelo menos aparenta ser) Obrigado.

Cara, eu acredito que tu tem que cria tipo uma nova classe um JPanel mesmo e adicionar lá os JTextFields(Nome…Sexo…Idade). Depois disso na sua classe Jogadores toda vez que o que for definido o numero de jogadores este numero sera a quantidade de jPanel que tu tem que adicionar na sua classe jogadores. Não entendi muito bem más deve ser isso ae

então, sobre adicionar eu já consegui e está funcionando perfeitamente, o problema é na hora que eu quera diminuir, de todas as maneiras que eu pensei, mais não consegui funcionar, se quiser um ex claro de como é o que eu to pedindo, é igual a add anexo aqui no forum, se eu colocar adicionar outro anexo, vai ficar 2 campos lá, mais se quiser consigo remover mais um também.

cara, pelo que entendi vc so tem q limpar todos os campos toda vez que clicar no botao.

té+

não é isso, eu não kero que apareça, na vdd seria interessante que o toda vez q eu apertasse no ok o programa iria mais ou menos resetar, iria voltar ao programa normal quando aberto sem campo nenhum e depois add os campos que kero, tudo no mesmo clique!, é mais ou menos isso

entao da um setVisible(false) no componente

não funcionou!

cara, entao me desculpa, mas para poder te ajudar vou ter que entender melhor o que vc precisa.

Olá… sou meio novato na linguagem, mas pelo o que entendi, você criou os 4 jogadores dentro do único objeto.
Acho que criando 4 jogadores separados ficam mais fácil manipula-los. Então para faze-los sumir era somente tirar a referência deles da classe Jogador (Ex: jogador1= null).

Não entendi, seria o caso de limpar todos os campos… :roll:

então, é mais ou menos assim, quando eu abro o programa (Está em Anexo), aparece pra digitar quantos jogadores eu quero, aí eu coloco de 1 a 4, se eu colocar 1 vai aparecer pra cadastrar só um jogador, se depois eu colocar 2 vai aparecer pra cadastrar 2, se eu colocar depois 4 vai aparecer pra cadastrar 4, mais se depois eu diminuir o número, vamos dizer assim, eu coloquei o 4 sem querer, mas na vdd quero cadastrar apenas 2, aí coloco lá 2 e aperto OK, só que não diminui o número de campos intendeu, keria que ao colocar 2 por Ex ele desapareceria com o 3 e 4, deixando apenas o 1 e 2. É meio confuso explicar assim escrevendo, se testar o programa acho que consegue entender, não sei se é possível acredito que sim né. vlw

Se for o que eu entendi, é só usar o setVisible(false), que já foi indicado, faz uma condição de acordo com as regras que você quer… :wink:

Visualizei seu código… e acho que entendi sua dúvida. Dica: Tente instanciar seus JTextFields e JLabels já logo ao iniciar o programa (não como vc fez > dentro dos métodos). E nos seus métodos (num1, num2…) manipula-los com o .setVisible(false, true), como mencionado pela Anime.

Entao outra opção é vc ao abrir a tela ja ter add todos os campos e colocar eles como enabled(false) (eles vao aparecer desabilitados) e no evento do botao vc vai dizer quais deles vc quer habilitar (setEnabled(true).

Qualquer coisa posta ai :thumbup:

Mais dessa forma eles já estaram presentes correto? só ficará desabilitado, mais queria que ele realmente sumisse, o .setVisible não consegui usar com os métodos, só consigo usando obj por obj que também não funciono da maneira que está, acredito que terei que colocar instanciar eles dentro do construtor, mais deixá-los como false. deixa eu ver aqui.

Eu tentei galera mais não obtive sucesso, alguém tentou fazer aí?

cara, olhando teu codigo tenho q te falar uma coisa, nao leve a mal:
as boas praticas de programacao foram extintas nele. Vc tem duas classes e cada uma delas tem um metodo main(), isso nao pode cara.
Vc tem duas classes e cada uma delas e um JFrame, e na classe principal vc tem um objeto do outro JFrame e neste vc coloca os objetos, quando vc poderia ter somente uma classe(JFrame) e dentro dele um painel onde seus componentes iriam ficar. Todos os instanciamentos que vc fez na classe Jogadores vc poderia ter feito na Principal, economizando codigo.
Lembra que eu te falei do setVisible(false) num post anterior?
Entao, fazendo da maneiro que eu disse, com um JPanel dentro do teu JFrame, vc pode solucionar o teu problema de colocar tantos componentes quanto for o numero que digitar no textField.

Desculpa te falar, mas o teu codigo ta uma bagunca. :cry:

te+

[quote=javaJoni]cara, olhando teu codigo tenho q te falar uma coisa, nao leve a mal:
as boas praticas de programacao foram extintas nele. Vc tem duas classes e cada uma delas tem um metodo main(), isso nao pode cara.
Vc tem duas classes e cada uma delas e um JFrame, e na classe principal vc tem um objeto do outro JFrame e neste vc coloca os objetos, quando vc poderia ter somente uma classe(JFrame) e dentro dele um painel onde seus componentes iriam ficar. Todos os instanciamentos que vc fez na classe Jogadores vc poderia ter feito na Principal, economizando codigo.
Lembra que eu te falei do setVisible(false) num post anterior?
Entao, fazendo da maneiro que eu disse, com um JPanel dentro do teu JFrame, vc pode solucionar o teu problema de colocar tantos componentes quanto for o numero que digitar no textField.

Desculpa te falar, mas o teu codigo ta uma bagunca. :cry:

te+[/quote]
não precisa se desculpar, eu to aprendendo né, e sobre o main na classe jogadores eu fiz só pra saber aonde iria estar posicionado, só esqueci de tirá-lo