Pessoal gostaria de saber qual evento do JAVA é igual ao do textchanged do .NET
Estou estudando essa nova plataforma.
Pessoal gostaria de saber qual evento do JAVA é igual ao do textchanged do .NET
Estou estudando essa nova plataforma.
Quem cuida do conteúdo de um textComponent é o Document, e para pegar alterações no texto, deve ser adicionado um DocumentListener.
Não entendi direito.
Mas agradeço de qualquer forma.
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.
});
Entendi muito obrigado!!!
E qual a diferença entre o KeyRelased e DocumentListener?
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.
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.
Agora você falou tudo. Isso já me incomodou muito quando eu não conhecia o DocumentListener.
Valeu Vini!