| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 16/06/2010 08:25:33
|
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
|
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 16/06/2010 09:38:48
|
ViniGodoy
Moderador
![[Avatar]](/images/avatar/1921493b5362e63fbe8983f4bd54157d.png)
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 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 16/06/2010 10:03:54
|
pvrsouza
Virtual Machine Man
![[Avatar]](/images/avatar/dc58460601ab2b4e101cff43f30564f3.jpg)
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!
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 16/06/2010 10:32:57
|
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.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 16/06/2010 14:04:26
|
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. |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 16/06/2010 14:11:18
|
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.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 16/06/2010 14:11:58
|
ViniGodoy
Moderador
![[Avatar]](/images/avatar/1921493b5362e63fbe8983f4bd54157d.png)
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 |
|
|
 |
|
|