Evento TextChanged no JAVA'

7 respostas
khaue_viana_

Pessoal gostaria de saber qual evento do JAVA é igual ao do textchanged do .NET

Estou estudando essa nova plataforma.

7 Respostas

Eric_Yuzo

Quem cuida do conteúdo de um textComponent é o Document, e para pegar alterações no texto, deve ser adicionado um DocumentListener.

khaue_viana_

Não entendi direito.

Mas agradeço de qualquer forma.

Eric_Yuzo

O textChanged do .NET é o evento que ocorre quando o conteúdo de um textBox é alterado, certo?

O conteúdo de um JTextField é controlado pelo seu modelo, que são classes que implementam Document. Então para pegar as modificações no textField você pode adicionar um DocumentListener:
textField.getDocument().addDocumentListener(new DocumentListener() {
            public void insertUpdate(DocumentEvent e) {
                //faz alguma coisa quando um texto for inserido.
            }

            public void removeUpdate(DocumentEvent e) {
                //faz alguma coisa quando um texto for removido.
            }

            public void changedUpdate(DocumentEvent e) {} //usado em style document.
        });
khaue_viana_

Entendi muito obrigado!!!

E qual a diferença entre o KeyRelased e DocumentListener?

Eric_Yuzo

O keyReleased é disparado quando você “soltar” alguma tecla que esteja pressionada. Já os métodos do DocumentListener são disparados conforme variação no texto.

Por exemplo, se você ficar apertando as setas para navegar no texto, o KeyListener escutará o evento, pois você estará apertando e soltando uma tecla. Porém o DocumentListener não, pois o texto não sofre nenhuma alteração.

Se você digitar a letra “A”. Ambos serão afetados, o KeyListener ouvirá a ação da tecla e DocumentListener ouvirá a inserção da letra “a” em seu conteúdo.

ViniGodoy

Se você colar um Texto no JTextField com o mouse, o KeyReleased não notificará nenhum evento (pois o mouse não é uma tecla), mas o document reportará a mudança no texto.

Eric_Yuzo

Agora você falou tudo. Isso já me incomodou muito quando eu não conhecia o DocumentListener.

Valeu Vini!

Criado 19 de setembro de 2010
Ultima resposta 21 de set. de 2010
Respostas 7
Participantes 3