Trocar Vígula por Ponto

8 respostas
G

Pessoal,

Como eu faria para trocar uma vírgula por um ponto no momento em que o usuário acaba de digitar? Tenho uma aplicação com um campo TextField, onde, caso o usuário digite vírgula, devo trocar por ponto.

  1. Aonde fazer?
  2. Como fazer?

Desde já agradeço.

Abraço.
Eduardo.

8 Respostas

L

cara…tenta implementar um keyListener no teu textfield, assim ele vai executar uma ação cada vez que for digitado algo nele. Depois é só pegar o texto e dar um replaceAll e trocar todas as vírgulas por ponto…

Faz assim… Dá uma pesquisada sobre keyListener do JTextField e os métodos replace e replaceAll da classe String

zwingli

Pode ser javascript básico ???

zwingli

Tipo vc pode fazer o onkeypress do seu text field chamar uma função como esta…

function validaNumerico(sValue){
	return sValue.replace, ",",  ".");
}
G

Valeu pessoal!
Bacana as dicas…vou fazer uns testes.

Abraço.
Eduardo.

G

Pessoal,

Ficou assim:

public void keyReleased(KeyEvent e)

{

if (e.getSource()==t1)

{

if (e.getKeyChar()==’,’)

{

t1.setText(t1.getText().replace(’,’,’.’));

t1.setCaretPosition(t1.getText().length()); // manda pro final da linha.

}

}

}

Grato pela ajuda.
Eduardo.

H

bom, quando eu programava pra web, com javascript, eu fazia varias gambiarras pra criar uma mascara para campos de texto até que um colega meu chegou e me disse “regular expressions cara, regular expressions”.

Da uma olhada em Expressões Regulares. Nunca usei no java mas com certeza tem

B

Dê uma olhada neste javadoc do JTextField: http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/JTextField.html

Lá ele fala um pouco do document model, que o jeito “certo” de fazer esse tipo de alterações.

G

Beleza.
Muito obrigado pela ajuda. Já havia ouvido falar desta tecnologia. Vou dar uma pesquisa.

Abraço.
Eduardo.

Criado 30 de abril de 2008
Ultima resposta 2 de mai. de 2008
Respostas 8
Participantes 5