Boas praticas de desenvolvimento  XML
Índice dos Fóruns » Arquitetura de Sistemas
Autor Mensagem
lonnewolf
Debugger

Membro desde: 02/04/2009 19:33:36
Mensagens: 50
Offline

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
[MSN]
ViniGodoy
Moderador
[Avatar]

Membro desde: 11/12/2006 08:22:01
Mensagens: 20580
Localização: Curitiba/PR
Online

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.

@ViniGodoy - Lattes

Tem dúvidas de Java? Poste no fórum! Não respondo dúvidas de java via MP!

Ponto V! - Desenvolvimento de Jogos Profissional - @Pontov - Facebook
Projeto Towel - Swing de uma forma inteligente (Novo lar do ObjectTableModel e do Auto-Filtro).

Ei... você está usando DefaultTableModel no seu projeto??
Não faça isso! Veja: http://www.guj.com.br/posts/list/15/199067.java#1001295
[WWW]
pvrsouza
Virtual Machine Man
[Avatar]

Membro desde: 04/08/2009 09:50:14
Mensagens: 511
Localização: Salvador-BA
Offline

Uia!

Boa dica Viny!

Esse vai pros meus favoritos!

Abraços!
lonnewolf
Debugger

Membro desde: 02/04/2009 19:33:36
Mensagens: 50
Offline

Vlw a dica Vini. Vou tentar implementar e dou um retorno pra vcs.
[MSN]
xdraculax
Java Ninja

Membro desde: 12/01/2009 16:12:54
Mensagens: 286
Offline

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

-Atenha-se a resolver o problema, e não criticar opiniões.
-Você percebe que está programando d+, quando está escrevendo identado!
-Não precisa estar certo, basta acreditar.
[WWW]
lonnewolf
Debugger

Membro desde: 02/04/2009 19:33:36
Mensagens: 50
Offline

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.
[MSN]
ViniGodoy
Moderador
[Avatar]

Membro desde: 11/12/2006 08:22:01
Mensagens: 20580
Localização: Curitiba/PR
Online

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


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

@ViniGodoy - Lattes

Tem dúvidas de Java? Poste no fórum! Não respondo dúvidas de java via MP!

Ponto V! - Desenvolvimento de Jogos Profissional - @Pontov - Facebook
Projeto Towel - Swing de uma forma inteligente (Novo lar do ObjectTableModel e do Auto-Filtro).

Ei... você está usando DefaultTableModel no seu projeto??
Não faça isso! Veja: http://www.guj.com.br/posts/list/15/199067.java#1001295
[WWW]
 
Índice dos Fóruns » Arquitetura de Sistemas
Ir para:   
Powered by JForum 2.1.8 © JForum Team