Como setar o próximo componente a receber foco?

4 respostas
M

Tenho um form de cadastro e nele tem um campo pro cliente, 3 combobox pra data e um pro telefone, gostaria que o foco passasse do cliente direto pro telefone, até ai tudo bem, consegui fazer usando a opção focusable=false nos combobox da data, porém nesses combobox quando eu seleciono por ex. o mês e digito um pedaço do mês, por exemplo “dezemb”, ele deveria selecionar a opção dezembro do combobox, o que tá acontecendo é que o que eu digito vai parar la no textfield do telefone…
vou mandar uma imagem pra ilustrar melhor o que acontece:

Como tratar isso?

4 Respostas

J

Tua imagem não veio. Acho que tem que carregar ela como anexo (attachments)

Que tal se voce postar teu código para que vejamos se tem algo de incomum.

No Netbeans quando vc seleciona (em modo visual) o Panel que contem os componentes
ele dispoe a opcao “alterar Ordem” . Achei que seria para isso, mas fiz alguns testes e
aquilo só altera a ordem de instanciacao dos componentes do painel.

Resta saber com o java define a sequencia de tab de um componente. Nao ha nada no codigo que defina
qual componente vem depois de qual. Aparentemente eh pela ordem dentro do layout. Se for isso fica dificil
mudar essa ordem sem muda-los visualmente de posicao.

F

No .Net cada componente tem um atributo chamado Tab Index. E é nesse índice que o programa se baseia para ordenar os Tabs… Dá uma olhada se não tem um atributo nos objetos que você usa…

J

Parece que o Fernando Savio tinha quase razao.

Tem alguns artigos sobre como controlar o tabIndex em java:

http://www.javafaq.nu/java-example-code-786.html e

http://java.sun.com/docs/books/tutorial/uiswing/misc/focus.html

J

e mais este

Criado 7 de outubro de 2011
Ultima resposta 7 de out. de 2011
Respostas 4
Participantes 3