| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 08/02/2010 17:38:27
|
VantuilJose
Debugger
![[Avatar]](/images/avatar/ca5b658462069fbcf6db37967b8c9cec.jpg)
Membro desde: 15/09/2008 11:47:53
Mensagens: 71
Offline
|
Pessoal, preciso que, quando um componente vai perder o foco, caso ele não esteja validado, o foco volte pra ele, mas sem passar para o outro componente, entenderam?
É que o FocusGained do outro componente tem código que não deveria ser executado caso o primeiro campo não estivesse validado. Então não posso dar um simples requestFocus, alguém tem alguma idéia que possa me ajudar?
This message was edited 2 times. Last update was at 10/02/2010 09:03:18
|
Vantuil Oliveira
Graduando em Análise e Desenvolvimento de Sistemas - IFMG
-
"I am the maniac serial killer that knows where you live who will maintain your code!" |
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 09/02/2010 08:15:21
|
Mark_Ameba
Forum Spammer
![[Avatar]](/images/avatar/04940fadf3702cbd84b7a48161037c4f.jpg)
Membro desde: 11/04/2007 18:18:20
Mensagens: 3307
Localização: São Paulo/SP
Offline
|
|
Projeto Mark-Utils no Google Code!
Ainda usando DefaultTableModel no seu projeto?? PARE! Não faça isso! Veja: http://www.guj.com.br/posts/list/15/199067.java#1001295
Trabalhe com JTable de uma forma inteligente com o ObjectTableModel e com o Auto-Filtro!
Tower Defense Game - RC 3 - 19/02/2010
MarkyBlog: http://markyameba.wordpress.com : Swing & Reflection.
Faça perguntas inteligentes
Programar telas Swing na mão nunca foi tão fácil: MigLayout!
Totalmente GridBagLayout (Joke)
Develop games is fantastic, with words you can make worlds!!!
It's more useful to have a fun game with old graphics, than a boring game with good graphics.
Quer aprender a fazer jogos? : Créditos ao ViniGodoy
Each of their nuggets of wisdom contracted to a sound bite:
Joshua Bloch: Write Lots of Code
Chet Haase: Don't Put Your Entire Application in One Method
Masood Mortazavi: Start Simple and Keep Learning
Cay Horstmann: First, Don't Panic |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 09/02/2010 08:56:58
|
VantuilJose
Debugger
![[Avatar]](/images/avatar/ca5b658462069fbcf6db37967b8c9cec.jpg)
Membro desde: 15/09/2008 11:47:53
Mensagens: 71
Offline
|
Mark_Ameba, a classe java.awt.event.FocusEvent não tem o método consume();
consume() é definido AWTEvent, mas o acesso à ela é protegido. O FocusEvent não permite que esse método seja invocado. Se eu fizer cast para o tipo AWTEvent isso funcionaria? ou o evento de foco não pode ser consumido?
|
Vantuil Oliveira
Graduando em Análise e Desenvolvimento de Sistemas - IFMG
-
"I am the maniac serial killer that knows where you live who will maintain your code!" |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 09/02/2010 08:59:45
|
VantuilJose
Debugger
![[Avatar]](/images/avatar/ca5b658462069fbcf6db37967b8c9cec.jpg)
Membro desde: 15/09/2008 11:47:53
Mensagens: 71
Offline
|
O cast não funciona né! Mudar o tipo não resolve o problema...
Apenas classes do pacote podem acessá-lo, o que eu posso fazer existe uma alternativa pra isso?
|
Vantuil Oliveira
Graduando em Análise e Desenvolvimento de Sistemas - IFMG
-
"I am the maniac serial killer that knows where you live who will maintain your code!" |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 09/02/2010 10:32:17
|
Mark_Ameba
Forum Spammer
![[Avatar]](/images/avatar/04940fadf3702cbd84b7a48161037c4f.jpg)
Membro desde: 11/04/2007 18:18:20
Mensagens: 3307
Localização: São Paulo/SP
Offline
|
Ahh.. nao tinha reparado nisso.
Voce pode acessar por Reflection mas acho inviavel.
Talvez voce pode pensar em outra solução.
|
Projeto Mark-Utils no Google Code!
Ainda usando DefaultTableModel no seu projeto?? PARE! Não faça isso! Veja: http://www.guj.com.br/posts/list/15/199067.java#1001295
Trabalhe com JTable de uma forma inteligente com o ObjectTableModel e com o Auto-Filtro!
Tower Defense Game - RC 3 - 19/02/2010
MarkyBlog: http://markyameba.wordpress.com : Swing & Reflection.
Faça perguntas inteligentes
Programar telas Swing na mão nunca foi tão fácil: MigLayout!
Totalmente GridBagLayout (Joke)
Develop games is fantastic, with words you can make worlds!!!
It's more useful to have a fun game with old graphics, than a boring game with good graphics.
Quer aprender a fazer jogos? : Créditos ao ViniGodoy
Each of their nuggets of wisdom contracted to a sound bite:
Joshua Bloch: Write Lots of Code
Chet Haase: Don't Put Your Entire Application in One Method
Masood Mortazavi: Start Simple and Keep Learning
Cay Horstmann: First, Don't Panic |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 09/02/2010 11:03:52
|
lina
Moderador
![[Avatar]](/images/avatar/8849f0a976aa5332853e848655a1d28f.jpg)
Membro desde: 23/12/2006 21:05:04
Mensagens: 1860
Offline
|
Oi,
Trambique:
Caso o componente não esteja validado, lancar uma exceção (criado por vc) do tipo: NoFocusChangeSignException que irá ser tratada para dar um requestFocus no componente atual de conteudo não valido.
No FocusGained do outro componente, verifique se ocorreu uma exceção anterior. Se sim, não faz nada. Se não, faz o que deveria ser feito.
Tchauzin!
|
Você é novo no GUJ? Vai criar um tópico e colar seu código-fonte? Leia aqui antes, por favor!
http://www.guj.com.br/posts/list/50115.java
Se o seu tópico foi respondido e você está satisfeito, segue:
- Pressione o botão <Edit> de seu primeiro post
- Acrescente no final do título a tag [RESOLVIDO]
Tchauzin! |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 09/02/2010 12:43:33
|
VantuilJose
Debugger
![[Avatar]](/images/avatar/ca5b658462069fbcf6db37967b8c9cec.jpg)
Membro desde: 15/09/2008 11:47:53
Mensagens: 71
Offline
|
Pois é lina, eu estava evitando os trambiques, heheheehe
Ainda mais esses que eu tenho que implementar no código no FocusGained..
É que eu tenho uma classe que faz essa validação baseada em código que eu passo pra ele o evento e uma condição pra que ele analise, com isso eu economizo muito código...
Esse trambique que você sugeriu é melhor do que alguns que eu tinha pensado... Se não houver outro jeito, fico com ele mesmo, heheheehe
This message was edited 1 time. Last update was at 10/02/2010 08:33:32
|
Vantuil Oliveira
Graduando em Análise e Desenvolvimento de Sistemas - IFMG
-
"I am the maniac serial killer that knows where you live who will maintain your code!" |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 10/02/2010 08:33:51
|
VantuilJose
Debugger
![[Avatar]](/images/avatar/ca5b658462069fbcf6db37967b8c9cec.jpg)
Membro desde: 15/09/2008 11:47:53
Mensagens: 71
Offline
|
O que a acontece é o seguinte, essa classe de validação tem um HashMap com Component e Mensagem(String), tenho um método verifica, onde eu passo a condição, o evento e a mensagem. Esse método é invocado quando o componente perde o foco.
Se a condição for verdadeira, significa que eu tenho um erro então adiciono o componente junto com a mensagem no HashMap. E volto o foco pro componente que gerou o evento.
O Problema: Se Se o próximo componente for um componente que também tem um verificaErro no focusLost, ele ganha o foco,e é invalidado (pinta a borda de vermelho e mostra uma mensagem em um label), então um campo que ainda nem recebeu dados é considerado como errado...
Não é um problema muito sério já que o usuário vai passar por lá novamente, mas não era exatamente isso que eu queria...
|
Vantuil Oliveira
Graduando em Análise e Desenvolvimento de Sistemas - IFMG
-
"I am the maniac serial killer that knows where you live who will maintain your code!" |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 10/02/2010 09:02:42
|
VantuilJose
Debugger
![[Avatar]](/images/avatar/ca5b658462069fbcf6db37967b8c9cec.jpg)
Membro desde: 15/09/2008 11:47:53
Mensagens: 71
Offline
|
Resolvi de outra maneira,
Realmente não consegue cancelar o evento, me parece que o consume() apenas pode ser utilizado em InputEvent, e ele consume o evento mesmo, tipo, se vc cancela um tipo de InputEvent, os ouvintes do seus InputEvent deixam de receber os evento, me corrijam se eu estiver errado.
Então inventei uma gambiarrazinha na minha classe, se interessar a alguém:
|
Vantuil Oliveira
Graduando em Análise e Desenvolvimento de Sistemas - IFMG
-
"I am the maniac serial killer that knows where you live who will maintain your code!" |
|
|
 |
|
|