| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 22/03/2004 15:45:11
|
brlima
Moderador
![[Avatar]](/images/avatar/fc2c7c47b918d0c2d792a719dfb602ef.png)
Membro desde: 12/05/2003 14:03:38
Mensagens: 1537
Localização: São Paulo - SP
Offline
|
To com esse codigo aqui que tá me dando um banho: Tá exibindo duas vezes a mensagem.
Acho que deveria exibir só uma. Ao menos exibia até a versao 1.4.1, já na 1.4.2_04 tá exibindo 2 vezes.
Alguem pode me dar uma luz?
É o seguinte: O foco entra no Text1. Qdo vc passa pro text2, ele deveria exibir uma mensagem e voltar o foco pro 1.
Codigo:
|
Bruno R. Lima
-------------------------------------------
flickr :: twitter |
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 22/03/2004 17:52:53
|
brlima
Moderador
![[Avatar]](/images/avatar/fc2c7c47b918d0c2d792a719dfb602ef.png)
Membro desde: 12/05/2003 14:03:38
Mensagens: 1537
Localização: São Paulo - SP
Offline
|
Uma ajuda a um rapaz desesperado...!!!...rs
|
Bruno R. Lima
-------------------------------------------
flickr :: twitter |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 22/03/2004 22:33:23
|
dsiviotti
Virtual Machine Man
![[Avatar]](/images/avatar/b3f61131b6eceeb2b14835fa648a48ff.jpg)
Membro desde: 19/01/2004 01:35:23
Mensagens: 541
Localização: Rio de Janeiro
Offline
|
Se você tirar o código:
funciona. A mensagem só aparece uma vez. O porquê é um mistério!
|
Douglas Siviotti |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 24/03/2004 18:10:21
|
brlima
Moderador
![[Avatar]](/images/avatar/fc2c7c47b918d0c2d792a719dfb602ef.png)
Membro desde: 12/05/2003 14:03:38
Mensagens: 1537
Localização: São Paulo - SP
Offline
|
dsiviotti wrote:Se você tirar o código:
funciona. A mensagem só aparece uma vez. O porquê é um mistério! 
Mas é que eu forço o foco continuar no campo 1... nao pode sair...
|
Bruno R. Lima
-------------------------------------------
flickr :: twitter |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 25/03/2004 10:57:09
|
dukejeffrie
Virtual Machine Man
![[Avatar]](/images/avatar/c74d97b01eae257e44aa9d5bade97baf.png)
Membro desde: 21/08/2002 03:53:28
Mensagens: 661
Offline
|
Bom... eu acho que vc tem que testar se a origem do evento é o field1...
do javadoc do 1.4:
getOppositeComponent
public Component getOppositeComponent()
Returns the other Component involved in this focus change. For a FOCUS_GAINED event, this is the Component that lost focus. For a FOCUS_LOST event, this is the Component that gained focus. If this focus change occurs with a native application, with a Java application in a different VM or context, or with no other Component, then null is returned.
Returns:
the other Component involved in the focus change, or null
Since:
1.4
Acho que os dois recebem FOCUS_GAINED...
boa sorte!
[]s
|
Brevity is the soul of wit |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 02/08/2005 15:44:29
|
brunufal
Thread.start()
Membro desde: 02/08/2005 15:37:04
Mensagens: 25
Offline
|
Pessoal, eu também tô com um problema desses. É o seguinte:
Tenho vários DBTextField, e faço uma validação de campo vazio no evento focusLost. O problema é que após o campo perder o foco, ele entra no foco do campo seguinte, que também está vazio, e só depois dispara o evento de validação. Quando ele verifica que o campo que perdeu o foco tá vazio, ele volta o foco para ele, provocando uma outra chamada para o evento de validação do último campo que o foco estava, por isso a mensagem é exibida duas vezes. Se o campo mudasse de foco somente quando fosse validado, isso não aconteceria. No delphi isso funciona assim, o foco só muda de campo, após o evento discarado pela perda do foco ser executado. Dessa forma, podemos garantir que o foco só muda de campo quando o campo for validado. Alguém sabe como fazer isso em Swing?
Bruno Barros.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 03/08/2005 00:02:58
|
brlima
Moderador
![[Avatar]](/images/avatar/fc2c7c47b918d0c2d792a719dfb602ef.png)
Membro desde: 12/05/2003 14:03:38
Mensagens: 1537
Localização: São Paulo - SP
Offline
|
Pra resolver esse problema, eu tive que validar o campo quando outro componente ganhasse foco, e nao ao perder o foco.
Foi a unica ideia que tive pra minha situacao.
Flw.
|
Bruno R. Lima
-------------------------------------------
flickr :: twitter |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 03/08/2005 06:15:01
|
Sami Koivu
Virtual Machine Man
![[Avatar]](/images/avatar/a4d8e2a7e0d0c102339f97716d2fdfb6.jpg)
Membro desde: 16/09/2004 09:49:27
Mensagens: 574
Localização: Curitiba-PR
Online
|
Olá todos,
Hum.. se na verdade o que vocês querem é validação, que tal usar o mecanismo do InputVerifier que - pelo que entendo - é para isso mesmo?
Esse exemplo não deixa o usuário sair do campo field1 se está vazio:
O método verify do seu InputVerifier vai ser chamado quando o usuário tente sair do campo. E se o metodo retornar "false" o componente não perde foco.
Mais informações:
http://java.sun.com/j2se/1.4.2/docs/api/javax/swing/InputVerifier.html
Abraços,
Sami
PS.
[comentário-inútil-e-não-é-pra-levar-sério-demais]
Eu não gosto desse tipo de validação que não me deixa sair do campo. Tenho ataques de raiva quanda minha liberdade fica assim limitado
Por favor, pense nas foquinhas que escapam o monstruoso Struts e ai ficam presos num campo destes. Triste
Mas tudo bem, há situações que necessitam isso.
[/comentário-inútil-e-não-é-pra-levar-sério-demais]
This message was edited 1 time. Last update was at 03/08/2005 06:15:52
|
(Slightly) Random Broken Thoughts on Java Security |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 03/08/2005 11:18:01
|
brlima
Moderador
![[Avatar]](/images/avatar/fc2c7c47b918d0c2d792a719dfb602ef.png)
Membro desde: 12/05/2003 14:03:38
Mensagens: 1537
Localização: São Paulo - SP
Offline
|
Realmente, esse negocio de prender o foco eu tb nao sou muito fã.
Tive um problema com teu codigo: StackOverFlow ao exibir a mensagem em um JOptionPane.
É normal isso ?
|
Bruno R. Lima
-------------------------------------------
flickr :: twitter |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 03/08/2005 11:58:47
|
Sami Koivu
Virtual Machine Man
![[Avatar]](/images/avatar/a4d8e2a7e0d0c102339f97716d2fdfb6.jpg)
Membro desde: 16/09/2004 09:49:27
Mensagens: 574
Localização: Curitiba-PR
Online
|
Ah.. desculpas. Não é normal, não. Só testei com java1.5 aparentemente. Aí funcionou.
Com 1.4 tenho o mesmo problema.
Abrir o JOptionPane deve gerar outro evento de verify.. que cria mais um... etc
Parece ser por causa deste bug aqui:
http://bugs.sun.com/bugdatabase/view_bug.do;jsessionid=7cd883a12d3c28aa6acb4bc62f03:YfiG?bug_id=4532517
Então, usando o workaround para 1.4 citado na descrição do bug:
Este aqui funcionou até com java 1.4
Abraços,
Sami
|
(Slightly) Random Broken Thoughts on Java Security |
|
|
 |
|
|