Limpar JTextField - não permitindo q mostre o valor anterior

3 respostas
D

Olá,

Estou tentando fazer uma aplicação desktop, um cadastro simples.

Na tela de inclusão, após clicar no botão salvar , todos os JTextfields são limpos JTextField.getText(""), preparando a tela para a próxima inclusão.

Acontece que se eu não preencher esse JTextField e mudar o foco usando o teclado, ele mostra os valores inseridos anteriormente.

Como eu faço para limpar o JTextField e não permitir que ele traga os valores anteriormente digitados ao mudar o foco usando o teclado ?

Agradeço qualquer ajuda.

Daniela.

3 Respostas

Rafael_Steil

Voce esta limpando com getText()? nao seria setText()? :slight_smile:

O textfield por padrao nao mostra os valores anteriores por padrao. Nao tem algum codigo seu que esteja fazendo isso, “por baixo dos panos”? algo como um listener que vc tenha colocado, ou algo assim.

Rafael

D

“Rafael Steil”:
Voce esta limpando com getText()? nao seria setText()? :slight_smile:

O textfield por padrao nao mostra os valores anteriores por padrao. Nao tem algum codigo seu que esteja fazendo isso, “por baixo dos panos”? algo como um listener que vc tenha colocado, ou algo assim.

Rafael

Rafael,

Estou limpando com setText(), tenho dois listener (ActionListener e KeyListener).
O KeyListener para controlar a quantidade de caracteres digitados e o ActionListener, sinceramente não sei pra que eu inclui.
Segue abaixo o código . Se você puder me ajudar ?

JFormattedTextField(createFormatter("#####-###"));
		Tcep.setColumns(9);
		Tcep.addActionListener(this);
		Tcep.addKeyListener(this);

    public void keyPressed(KeyEvent ke)  { 
	 if (ke.getKeyCode() == ke.VK_ENTER) { 
		 Component c = ke.getComponent(); 
		 c.transferFocus(); 
		 c = null; 
	 } 
 }
D

“dani_r”:
“Rafael Steil”:
Voce esta limpando com getText()? nao seria setText()? :slight_smile:

O textfield por padrao nao mostra os valores anteriores por padrao. Nao tem algum codigo seu que esteja fazendo isso, “por baixo dos panos”? algo como um listener que vc tenha colocado, ou algo assim.

Rafael

Rafael,

Estou limpando com setText(), tenho dois listener (ActionListener e KeyListener).
O KeyListener para controlar a quantidade de caracteres digitados e o ActionListener, sinceramente não sei pra que eu inclui.
Segue abaixo o código . Se você puder me ajudar ?

JFormattedTextField(createFormatter("#####-###"));
		Tcep.setColumns(9);
		Tcep.addActionListener(this);
		Tcep.addKeyListener(this);

    public void keyPressed(KeyEvent ke)  { 
	 if (ke.getKeyCode() == ke.VK_ENTER) { 
		 Component c = ke.getComponent(); 
		 c.transferFocus(); 
		 c = null; 
	 } 
 }</blockquote>

Rafael,

Desculpa.

O keyListener é para mudar o foco com a tecla Enter.

Já resolvi o problema.

Na verdade eu estava usando um JFormattedTextField, então eu deveria limpar seu conteúdo usando setValue() e não setText()

Exemplo:

Tcep = new JFormattedTextField(createFormatter("#####-###"));

para limpar o conteúdo:
Tcep.setValue("");

Criado 29 de junho de 2004
Ultima resposta 29 de jun. de 2004
Respostas 3
Participantes 2