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.
- Aonde fazer?
- 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.