Editar JTextField

8 respostas
rocha

Pessoal estou configurando no evento KeyReleased de um JTextField para só converter os caracteres em maiusculo assimtxtTelefone.setText(txtTelefone.getText().toUpperCase()); só que qdo coloco o cursor no meio de uma palavra para edita-la digito uma letra e o cursor vai para o fim da palavra como posso resolver isso?

8 Respostas

_Renatu

hm… estranho

tenta usar o metodo setCaretPosition(int pos) do seu JTextField dentro do eventListener…

_Renatu

agora eu tava pensando…
uma outra alternativa pra voce é tentar usar mascaras…
provavelmente assim voce nao teria esse problema…

rocha

_Renatu:
agora eu tava pensando…
uma outra alternativa pra voce é tentar usar mascaras…
provavelmente assim voce nao teria esse problema…

e como seria essa mascara?

C

http://java.sun.com/docs/books/tutorial/uiswing/components/formattedtextfield.html

_Renatu

achei isso no google
ve se te ajuda

http://linux.com.hk/docs/j2setutorial/uiswing/components/formattedtextfield.html

rocha

Puts ainda não consegui nada, será q alguém não pode me dar uma dica

danilofabiano

Mano, acho que meu codigo vai te ajudar um pouco… se liga nele.

JTextField tftelefone;
    try{

       javax.swing.text.MaskFormatter format_textField = new javax.swing.text.MaskFormatter("(##)###*-####");// aqui esta a mascara, //jogo da velha diz que aceita só numero,// * que aceita qualquer coisa; 

      tftelefone = new javax.swing.JFormattedTextField(format_textField);

       }catch (Exception e){}

Se nao entendeu manda um email no danilo do cttelecom.com.br

fredferrao

pelo que diz ae, a tua mascara tem que algo como: new makFormatter(“UUUUUUUUUUUUUUUUU”) quantos forem os caracteres aceitos!!!

Criado 4 de agosto de 2005
Ultima resposta 9 de ago. de 2005
Respostas 8
Participantes 5