| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 21/08/2008 09:54:04
|
paulinhohd
JavaEvangelist
![[Avatar]](/images/avatar/362c99307cdc3f2d8b410652386a9dd1.jpg)
Membro desde: 28/03/2005 14:44:22
Mensagens: 462
Localização: Poços de Caldas
Offline
|
Em uma tela de minha aplicação tenho vários JTextFields, como faço para que ao usuário apertar ENTER vá para o próximo JTEXT que eu desejo?
E fazer o mesmo para o TAB também?
Obrigado!
|
Paulo Roberto
"As vezes, são os pequenos detalhes que fazem a diferença!" (Eu) |
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 21/08/2008 10:05:02
|
Fernando Generoso da Rosa
Virtual Machine Man
Membro desde: 14/01/2003 14:48:21
Mensagens: 555
Localização: Sombrio/SC
Offline
|
Pois é... Em java não tem um tabOrder....
para fazer isso, acho que o único jeito é implementar um focusListener para cada componente e no focusLost, tu fazer um requestFocus para o componente que tu quer q vá. Acho que é o único jeito...
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 21/08/2008 10:09:11
|
paulinhohd
JavaEvangelist
![[Avatar]](/images/avatar/362c99307cdc3f2d8b410652386a9dd1.jpg)
Membro desde: 28/03/2005 14:44:22
Mensagens: 462
Localização: Poços de Caldas
Offline
|
Fernando Generoso da Rosa wrote:Pois é... Em java não tem um tabOrder....
para fazer isso, acho que o único jeito é implementar um focusListener para cada componente e no focusLost, tu fazer um requestFocus para o componente que tu quer q vá. Acho que é o único jeito...
Você teria algum exemplo de como faz isso?
Teria de controlar os Focus tudo com if?
Valeu!
|
Paulo Roberto
"As vezes, são os pequenos detalhes que fazem a diferença!" (Eu) |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 21/08/2008 10:17:13
|
rpfragoso
JavaBaby
![[Avatar]](/images/avatar/7d37e3cbff8e2f569ee74d9393c5a4a1.jpg)
Membro desde: 21/05/2007 19:59:40
Mensagens: 84
Offline
|
Você já tentou usar nextFocusableComponent?
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 21/08/2008 10:19:13
|
ViniGodoy
Moderador
![[Avatar]](/images/avatar/1921493b5362e63fbe8983f4bd54157d.png)
Membro desde: 11/12/2006 08:22:01
Mensagens: 20485
Localização: Curitiba/PR
Offline
|
No Java, algumas coisas que em outras linguagens são simples, se tornam bastante complexas...
É melhor entender como funciona o esquema de foco do Swing:
http://java.sun.com/docs/books/tutorial/uiswing/misc/focus.html
É como tentar limitar o tamanho de um JTextField. Você tem que estender algumas classes, colocar código em pontos estratégicos, e esquentar muito a cabeça com algo que em qualquer outra linguagem vc faria setando uma simples propriedade.
|
@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) 21/08/2008 11:33:08
|
ivo costa
JavaEvangelist
![[Avatar]](/images/avatar/2ab0ebde9cc0cd85fc47ce045d440caf.png)
Membro desde: 06/11/2007 12:07:34
Mensagens: 493
Localização: Porto Alegre - RS
Offline
|
Isso aqui faz com que os componentes de um determinado JPanel mudem o foco quando precionado enter:
|
Eu sonho com um mundo melhor, onde galinhas que atravessam a rua não serão questionadas pelos seus motivos.
Formate o seu código usando as tags [code] http://www.guj.com.br/posts/list/50115.java
Faça perguntas inteligentes |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 21/08/2008 12:20:49
|
paulinhohd
JavaEvangelist
![[Avatar]](/images/avatar/362c99307cdc3f2d8b410652386a9dd1.jpg)
Membro desde: 28/03/2005 14:44:22
Mensagens: 462
Localização: Poços de Caldas
Offline
|
Colocando seu código exemplo em meu fonte, deu o seguinte erro quando chamo a tela:
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at gui.Tela_Cad.getJContentPane(Tela_Cad.java:89)
at gui.Tela_Cad.getJFrame(Tela_Cad.java:74)
at gui.Tela_Principal$1.actionPerformed(Tela_Principal.java:80)
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at ch.randelshofer.quaqua.QuaquaButtonListener.mouseReleased(QuaquaButtonListener.java:86)
at java.awt.Component.processMouseEvent(Unknown Source)
at javax.swing.JComponent.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
|
Paulo Roberto
"As vezes, são os pequenos detalhes que fazem a diferença!" (Eu) |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 21/08/2008 12:24:18
|
ivo costa
JavaEvangelist
![[Avatar]](/images/avatar/2ab0ebde9cc0cd85fc47ce045d440caf.png)
Membro desde: 06/11/2007 12:07:34
Mensagens: 493
Localização: Porto Alegre - RS
Offline
|
Faz o seguinte:
execute o meu código (apenas o meu código),
verifica se é isso que vc qué,
entenda o código e transporte para o seu sistema.
Um simples copy/past nem sempre funciona
|
Eu sonho com um mundo melhor, onde galinhas que atravessam a rua não serão questionadas pelos seus motivos.
Formate o seu código usando as tags [code] http://www.guj.com.br/posts/list/50115.java
Faça perguntas inteligentes |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 21/08/2008 12:35:00
|
paulinhohd
JavaEvangelist
![[Avatar]](/images/avatar/362c99307cdc3f2d8b410652386a9dd1.jpg)
Membro desde: 28/03/2005 14:44:22
Mensagens: 462
Localização: Poços de Caldas
Offline
|
ivo costa wrote:Um simples copy/past nem sempre funciona 
É depois dessa acho que não tenho mais nada a perguntar.
ViniGodoy estive lendo o artigo que me passou e estou tentando adaptar mas está complicado.
Bem que você falou que o que é simples em outras linguagens em java tem que esquentar a cabeça.
|
Paulo Roberto
"As vezes, são os pequenos detalhes que fazem a diferença!" (Eu) |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 21/08/2008 12:59:35
|
ivo costa
JavaEvangelist
![[Avatar]](/images/avatar/2ab0ebde9cc0cd85fc47ce045d440caf.png)
Membro desde: 06/11/2007 12:07:34
Mensagens: 493
Localização: Porto Alegre - RS
Offline
|
Eu fiz uma busca no google, tirei um tempo pra fazer esse código pra ti, fiz uma exemplo que funciona e vc ainda vem me dizer que tá dando nullpointer no teu código?
Pelo erro deve ter dado conflito com algum actionPerformed.
Comente todos os actionPerformed da sua tela pra ver se funciona.
Faça perguntas inteligentes
|
Eu sonho com um mundo melhor, onde galinhas que atravessam a rua não serão questionadas pelos seus motivos.
Formate o seu código usando as tags [code] http://www.guj.com.br/posts/list/50115.java
Faça perguntas inteligentes |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 21/08/2008 13:00:28
|
ViniGodoy
Moderador
![[Avatar]](/images/avatar/1921493b5362e63fbe8983f4bd54157d.png)
Membro desde: 11/12/2006 08:22:01
Mensagens: 20485
Localização: Curitiba/PR
Offline
|
Se seu problema é só fazer o enter se comportar como tab, tente colocar esse código aqui no construtor do seu JFrame: Como o ivo já tinha feito.
This message was edited 1 time. Last update was at 21/08/2008 13:01:35
|
@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) 21/08/2008 13:21:45
|
paulinhohd
JavaEvangelist
![[Avatar]](/images/avatar/362c99307cdc3f2d8b410652386a9dd1.jpg)
Membro desde: 28/03/2005 14:44:22
Mensagens: 462
Localização: Poços de Caldas
Offline
|
ivo costa wrote:Eu fiz uma busca no google, tirei um tempo pra fazer esse código pra ti, fiz uma exemplo que funciona e vc ainda vem me dizer que tá dando nullpointer no teu código? Faça perguntas inteligentes
Ivo desculpe "ter" feito você perder seu precioso tempo sendo que o fórum é de livre e espontânea vontade para quem quer ajudar aos outros (e não obrigarem aos usuários do GUJ a perderem seus tempos!
Vini eu consegui colocando o código no construtor do JFrame. o Enter está funcionando perfeitamente com o Focus, agora vou estudar como delimitar para QUAL componente é o próximo focus.
Ivo obrigado pela ajuda! E pode deixar que eu li o link que me mandou de "Fazer perguntas inteligentes"
|
Paulo Roberto
"As vezes, são os pequenos detalhes que fazem a diferença!" (Eu) |
|
|
 |
|
|