chun
GUJ Master
Membro desde: 08/11/2004 15:43:41
Mensagens: 1699
Localização: Curitiba/PR
Offline
Fiz uma aplicação de teste para verificar um possivel Bug do Swing...
O evento FocusLost é chamado muitas vezes caso voce adicione um JOptionPane em alguma validação dentro do listner...
O Codigo esta abaixo... estarei eu fazendo algo de errado ?
DETALHE IMPORTANTE... no linux funciona ... soh chama uma vez... no Windows... chama umas 4 vezes se vc apetar no "NO" do JOptionPane
Any help ?
Ps: Este post é uma opinião pessoal e NÃO DEVE SER ENCARADO COMO VERDADE ABSOLUTA... então... caso você não concorde... não precisa cortar os pulsos...
Membro desde: 03/04/2006 21:50:51
Mensagens: 388
Offline
Separa as coisas...cria uma classe só para ouvir...num curto muito o jeito do netbeans fazer essas coisas...quando vc executa ele lança alguma exception...
"Porque Deus amou o mundo de tal maneira que deu seu filho unigênito para que todo aquele que nele crê não pereça, mas tenha vida eterna." João 3.16
chun
GUJ Master
Membro desde: 08/11/2004 15:43:41
Mensagens: 1699
Localização: Curitiba/PR
Offline
LuizClaudio wrote:Separa as coisas...cria uma classe só para ouvir...num curto muito o jeito do netbeans fazer essas coisas...quando vc executa ele lança alguma exception...
Isso é só um teste... está separado no projeto principal... isso eh apenas um teste do (possivel) Bug...
Pega isso ae e roda no teu IDE que vai rodar na boa...
Ps: Este post é uma opinião pessoal e NÃO DEVE SER ENCARADO COMO VERDADE ABSOLUTA... então... caso você não concorde... não precisa cortar os pulsos...
Membro desde: 29/07/2004 16:10:13
Mensagens: 17543
Offline
Você quer fazer uma validação de campo usando o evento focusLost?
a) focusLost é chamado também quando se minimiza o frame, e em outras situações. Portanto é um evento um pouco "ruim". No caso do SWT é até um pouco pior.
b) Veja um exemplo onde o cara evita o problema usando uma mensagem em posição fixa da tela, em vez de usar um MessageBox.
chun
GUJ Master
Membro desde: 08/11/2004 15:43:41
Mensagens: 1699
Localização: Curitiba/PR
Offline
thingol wrote:Você quer fazer uma validação de campo usando o evento focusLost?
a) focusLost é chamado também quando se minimiza o frame, e em outras situações. Portanto é um evento um pouco "ruim". No caso do SWT é até um pouco pior.
b) Veja um exemplo onde o cara evita o problema usando uma mensagem em posição fixa da tela, em vez de usar um MessageBox.
Preciso validar quando o cara sai do campo... nao tem outra forma se nao pelo focusLost...
No exemplo que voce passou o cara tah usando o framework de validação do jGoodies... e ele nao apresenta um JOptionPane pro cara... se eu tirar o JOptionPane tudo funciona numa boa...
chun
GUJ Master
Membro desde: 08/11/2004 15:43:41
Mensagens: 1699
Localização: Curitiba/PR
Offline
Sami Koivu wrote:Talvez no seu caso daria para usar InputVerifier em vez de FocusListener. Não sei se ele também está com os mesmos problemas citados pelo thingol.
O problema do inputVerifier eh que se o usuario apertar o botao de "cancelar" da tela de cadastro mesmo assim ele vai chamar esse "evento" , coisa que no focusLost eu consigo detectar se o proximo componente a receber o foco é um BOTAO dae eu nao apresento a janela... saka ?
Ps: Este post é uma opinião pessoal e NÃO DEVE SER ENCARADO COMO VERDADE ABSOLUTA... então... caso você não concorde... não precisa cortar os pulsos...