Ciclo de foco não funciona(TAB)

2 respostas
Tiago_Zortea

Primeiro gostaria de parabenizar a comunidade pela qualidade do forum e dos membros, nem uso mais o google, ja venho direto no search do forum :wink:

Seguinte, tenho um JFrame q tem muuuuuitos campos de tamanhos variados, como fica complicado gerenciar isso com o flowLayout usei o absoluteLayout, até ai tudo bem, o problema é que o TAB não funciona mais pra circular o foco entre os campos, acredito que o absoluteLayout não implemente isso automaticamente.

Pensei em usar um keyListener, mas não sei qual metodo usaria pra definir a ordem do foco.

Alguem tem alguma dica?

Grato pela atenção.

2 Respostas

lina

Crie um Keylistener para seu campo... ao clicar no tab, mande ele pegar o focu
em qual campo desejar... código abaixo:

campo.addKeyListener(new KeyListener()
{
	public void keyPressed(KeyEvent evento)
	 {
			//
			// Cria um int com o codigo do botao
			//
			int	ln_ke_pressionado	=	evento.getKeyCode();
					
			//
			// Se for apertado o botao control
			//
			if	(
					ln_ke_pressionado	==	KeyEvent.VK_TAB
				)
			{
				// componente do focu.
				campo.requestFocus();
			}
	 }

	public void keyReleased(KeyEvent e)
	{
					
	}

	public void keyTyped(KeyEvent e)
	{
					
	}
});

Tchauzin!

keller

O foco e passado na ordem que voce adiciona os objetos no container.

MyTextField textfieldNome = new MyTextField();
MyTextField textfieldIdade = new MyTextField();
MyTextField textfieldCPF = new MyTextField();
MyTextField textfieldRG = new MyTextField();

// container = jframe.getContentPane();
container.add( textfieldNome );
container.add( textfieldIdade );
container.add( textfieldCPF );
container.add( textfieldRG );

Assim o foco ira passar na seguinte ordem:
nome &gt idade &gt cpf &gt rg

Espero que ajude… :thumbup:

Criado 7 de maio de 2007
Ultima resposta 7 de mai. de 2007
Respostas 2
Participantes 3