Trocar Vígula por Ponto

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.

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

Pode ser javascript básico ???

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

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

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

Abraço.
Eduardo.

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.

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

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.

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

Abraço.
Eduardo.