[RESOLVIDO] JCheckBox e JTextField

Bom dia!

Como eu faço para aparecer a caixa de texto -JTextField, somente quando a JCkeckBox for selecionada?

Ex: temos um JCheckBox e quando eu clicar, somente quando for selecionado, apareça a barra de texto.

PS: Sendo isto feito para 5 caixas de seleção e 5 caixas de texto

No evento clicked do JChekBox você faz o seguinte código:

if (meucheckbox.isSelected()) {
    meucampotexto.setVisible(true);
}

Este é o código para ele aparece ao clicar na caixa de seleção.
Mas e para ele não aparecer? Só aparecer ao clicar na caixa de seleção.

Coloquei seu código mas ele ainda permaneceu ativo

Aí você tem que se ajudar também, só pegar as respostas prontas para seus problemas não vai te fazer aprender!

Veja bem, se setVisible(true) faz o campo ficar visível, então para ocultá-lo novamente teria que fazer o inverso concorda ?
Logo setVisible(false) faz com que o campo volte a ficar invisível.

1 curtida

Eu já tinha feito isto:

if (box1.isSelected()) {
text1.setVisible(true);

} else {
text1.setVisible(false);
}

sendo que:

O código só irá começar a rodar quando eu clicar na caixa de seleção, mas quando eu inicio a programação ele permanece ativo. Entendeu?

Esta etapa de desaparece ao clicar funcionou, mas não ao iniciar a programação.

É só setar o campo de texto como falso, depois de init components.

1 curtida

Conforme o @rodriguesabner disse acima, basta passar o visible do campo como false lá no construtor da sua classe, abaixo do initComponents() .

Assim, quando a classe for executada, o campo iniciará como invisível, obedecendo posteriormente a visibilidade conforme os clicks do checkbox.

Obrigado @rodriguesabner e @Jonathan_Medeiros vocês são demais!!