Boas praticas de desenvolvimento

Bom dia galera,
Tenho uma tela que realiza buscas de clientes. Estas buscas podem ser por codigo, apelido, razao social, cpf, cidade, etc. Cada uma destas informações é um JTextField.
Conforme o usuario vai digitando nestes campos, a minha JTable é atualizada. Para isto, coloquei o metodo de busta em KeyListener de cada campo text. Isto deu uma “poluida” no codigo. Gostaria de saber se é assim mesmo ou se existe um outra pratica para tirar estes codigos da classe que extende frame.

vlw

Você deveria escrever um Document para cada opção de busca, e não atualizar o KeyListener. O problema do KeyListener é que ele não é disparado caso seu usuário recorte e cole um texto sobre seu JTextField usando o mouse, por exemplo.

Dê uma lida no artigo, controlando um JTextField, para mais detalhes.

Você também poderia escrever cada KeyListener ou Document numa classe separada. Bastaria passar por parâmetro a sua JTable.

Uia!

Boa dica Viny!

Esse vai pros meus favoritos!

Abraços!

Vlw a dica Vini. Vou tentar implementar e dou um retorno pra vcs.

Qual a essência desse Document? Tipo, o objetivo dele?

Vini, vlw a dica, ela funciona certinho aqui. Agora, a duvida é, se eu apago os caracteres do textField, ele não passa pelo insertString. Olhei outros metodos da classe para ver se havia alguma coisa para sobre por mas nao achei nada (pelo menos dentro do que entendi na documentação). Neste caso, apertei o backspace, como vou entrar no metodo insertString (estou ciente que isto nao faz sentido, uma vez que o metodo deve so capturar caractestes).

So mais uma coisa, nao criei uma classe especifica para fazer isto, eu chamei a classe Plain dentro do setDocument do meu textField.

Fico no aguardo de alguem para dar uma força.

vlw.

O document é uma classe que diz ao JTextField ou JTextArea o que deve ser escrito.
É mais ou menos como o TableModel é para o JTable.