Setando um JTextField vazio

6 respostas
A

oie Pessoal…

uma dúvida meio boba… detalhista…

quero setar um JTextField com um valor vazio… posso fazer isso assim:

JTextField tNome = new JTextField();
tNome.setText("");

Existe outra forma :?:

6 Respostas

T

É assim mesmo.

jessetsilva

a principio soh conheco esta maneira tambem hehe

mas de uma olhadinha na documentacao do Jtextfield q deve ter alguma coisa a mais…

gertmuller

se o JTextField não for estático, você tb pode instanciar o objeto novamente. :smiley:

adinha, é tu??

joede.fadel

gertmuller:
se o JTextField não for estático, você tb pode instanciar o objeto novamente. :smiley:

não é recomendavel fazer isso pois vc vai estar criando mais um objeto em sua aplicação

a melhor forma de fazer isso eh atribuindo vazio para o setText

gertmuller

joede.fadel:
gertmuller:
se o JTextField não for estático, você tb pode instanciar o objeto novamente. :smiley:

não é recomendavel fazer isso pois vc vai estar criando mais um objeto em sua aplicação

a melhor forma de fazer isso eh atribuindo vazio para o setText

corrigindo:
joede, vc realment está certo, mas a jvm faz algumas lambanças d vez em qdo, e quando vc usa o método setText ela deixa o texto que estava anteriormente no JTextField. Para aplicação ser mais consistente, a partir da visão de usabilidade, é preferível que se incentive a passagem do Garbagge Collector pela memória, e se instancie novamente, tipo:

JTextField text = new JTextField(); ... text.hide(); text = new JTextField(); text.validate();

ViniGodoy

Ela não faz lambança nenhuma. Provavelmente você está chamando o setText a partir de outra thread, que não a do Swing. Nesse caso, você teria que usar o EventQueue.invokeLater.

De qualquer forma, o que você postou também não funciona. Você teria que remover o JTextField anterior do JPanel onde ele foi colocado, reinseri-lo, com todas as opções de layout do anterior (em alguns casos, como no FlowLayout, isso pode ser bem difícil).

Então, o ideal mesmo é dar um seuTextField.setText("").

Criado 8 de julho de 2008
Ultima resposta 12 de jul. de 2008
Respostas 6
Participantes 6