Ao apertar enter escolher campo que receberá o foco

1 resposta
B

Olá.

Algúem pode me ajudar com o caso mencionado no tópico. TEm alguma maneira fácil, ou alguma propriedade do campo onde eu possa setar o indice, por exemplo, e ao perder o foco o sistema direcionar para o proximo campo que eu quero.

1 Resposta

Josemar_Jobs
import java.awt.BorderLayout;
import java.awt.Component;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTextField;

public class Foco {

	JFrame form;

	public static void main(String[] args) {
		new Foco().go();
	}

	private void go() {
		form = new JFrame();
		JTextField text1 = new JTextField(30);
		JTextField text2 = new JTextField(30);
		JTextField text3 = new JTextField(30);
		JTextField text4 = new JTextField(30);

		JPanel painel = new JPanel();
		painel.add(text1);
		painel.add(text2);
		painel.add(text3);
		painel.add(text4);

		for (int i = 0; i < painel.getComponentCount(); i++) {
			Component comp = painel.getComponent(i);
			if (comp.getClass().getName() == "javax.swing.JTextField") {
				((JTextField) (comp)).addKeyListener(new Enter());
			}
		}

		form.add(painel, BorderLayout.CENTER);
		form.setDefaultCloseOperation(3);
		form.setSize(400, 200);
		form.setVisible(true);
	}

	class Enter extends KeyAdapter {
		@Override
		public void keyPressed(KeyEvent e) {
			if (e.getKeyCode() == KeyEvent.VK_ENTER) {
				((JTextField) (e.getSource())).transferFocus();
			}
		}
	}
}
Criado 6 de fevereiro de 2010
Ultima resposta 6 de fev. de 2010
Respostas 1
Participantes 2