[Resolvido] Botão default quando aperta enter

4 respostas
F

Como eu posso colocar um botão para ser o default quando o usuário aperta enter?

Ex: ele coloca o login e a senha depois aperta enter.

4 Respostas

brunoccouto

Sinceramente nao conheço esse recurso… vou esperar posts aki tb…
Mas eu faço da seguinte forma nas minha aplicações:
Se eu tenho dois jTextFields, um para Login e outro para senha, eu coloco um evento de teclado neles e ai funciona blz.
Ou seja, qualquer dois jTextFields que estiver com o foco e for teclado o enter ja lança o evento como se tivesse clicado no ‘Botão’

Blz???

maxguzenski
DefaultKeyboardFocusManager.getCurrentKeyboardFocusManager().addKeyEventDispatcher(new MyKeyEventDispatcher());
private class MyKeyEventDispatcher implements KeyEventDispatcher {
	public boolean dispatchKeyEvent(KeyEvent arg0) {
		int keycode = arg0.getKeyCode();
			
		if (arg0.getID() == KeyEvent.KEY_PRESSED) {
			if (keycode == KeyEvent.VK_ENTER) {
				login(); //metodo para logar
			}
		}
		return false; // se nao for enter continua a acao normalmente
	}
}
ziegfried
jFrame.getRootPane().setDefaultButton(button);
F

Valeu galera!

coloquei um rootpane no qual tem os campos de login e senha, tipo como o ziegfried explica.
Então só quando ele está no campo de login ou de senha que ele verifica o enter. (Eu acho!)

JRootPane rp = new JRootPane();
rp.setLayout(null);
rp.setDefaultButton(btn_entrar);
rp.add(panelLoginSenha);
contentPanel.setBounds(0, 0, width, height);
contentPane.add(rp);
Criado 10 de abril de 2007
Ultima resposta 11 de abr. de 2007
Respostas 4
Participantes 4