Botao swing

BOm dia;;;

gostaria de saber como faco pra colocar o ENTER do teclado como para acionar um botao…

como se fosse no email… que a gente se loga e quandp aperta o enter ele aciona o botao de se logar…

alguem pode ajudar,???

thanks

Oi,
Você quer um evento de teclado no seu botão?
ou você quer que esse botão recebe um focu logo apos a digitação da senha?

passe para seu botão o método KeyListener:

botao.addKeyListener(io_kl_enter);

Depois crie o KeyListener:

[code]
//
// Implementa um KeyListener para o textfield. (evento do botão enter)
//
KeyListener
io_kl_enter = new KeyListener()
{
//
// Metodo de Botao Pressionado
//
public
void keyPressed(KeyEvent evt)
{
//
// Cria um int com o codigo do botao
//
int ln_ke_pressionado = evt.getKeyCode();

	//
	// Se for apertado o botao ENTER
	//
	if(ln_ke_pressionado	==	KeyEvent.VK_ENTER)
	{
		//
		// Código aqui..
		//
	}
	
}
	
//Interface obrigatoria
public
void		keyReleased(KeyEvent	evt)	
{

}
//Interface obrigatoria
public
void		keyTyped(KeyEvent	evt)
{

}

};[/code]

e para receber um focu no botão:

botao.requestFocus();

Espero ter ajudado…

Tchauzin!

MAS POR exemplo , no netbeans, que existe a aba events… qual daqueles evontos eu poderia usar???/

Fale a lista de ações pra mim…
deve ter então algum ActionEvent que faça isso…

se você estiver usando a visualização do jframe, selecione o botão, clica com o botão direito em cima, e vai em Events > Key > KeyPressed

ele vai criar o método e você tem que colocar lá dentro…

if (evt.getKeyCode() == evt.VK_ENTER) {
// faz a sua ação.
}

espero que ajude.
:slight_smile:

KeyEvent

Mas cara sinceramente , faça umas telas na mão usando layout null e brinque com os listeners para aprender como funciona as coisas , logo a sua aplicação vai ficar com um codigo confuso e dificil de dar manutenção…

Tambem de uma olhada em padrões de projeto em MVC e DAO principalmente.

Cara é muito importante saber/ter_ideia do que o DnD ta gerando por baixo dos panos pra ti , porque se algum dia você precisar você vai direto ao ponto x da questão…

Bom boa sorte no projeto! :thumbup:

vlw mesmo pessoal…

valeu guilherme… eu uso o MVC já…

vou tentar aki e depois posto o codigo…

abracos

eu consegui fazer o botao com o enter funcionandoo…

porem a minha ideia era a seguinte…

quando eu pressionar o enter ele acionar o botao de login

entendem … mesmo que esteja o focus em outro campo.;;;

como ocorre nos emails… que a gente digita a senha mas depois e so apertar o enter que ele clica o botao de entrar…

da pra fazer isso?

dá sim. :smiley:

você tem que criar o KeyEvent no componente de senha, no caso do exemplo, e na sua ação você chama o botão e usa o método doClick().

if (evt.getKeyCode() == evt.VK_ENTER) { 
 botaoLogin.doClick();
}

Era isso? :roll:

gente consegui… fiz da seguinte maneira…

no meu campo de login…

no evento keyPressed eu coloquei

if (evt.getKeyCode() == evt.VK_ENTER) {
btEntrar.doClick();
}

e a mesma coisa para o campo de senha ,

ASSIM… tanto no campo login ou no campo senha se for pressionado o ‘ENTER’ entao acionará o botao de entrar…

vlw pessoal…

obrigado pela ajuda e espero que este tópico ajude outras pessoas tb…

vlw mesmo

Olhe aqui…

Seria mais fácil usar um ActionMap e um KeyMap ao invés de sair registrando evento pelo código inteiro…

Dependendo do caso, você também pode definir o botão como default de seu frame. No caso, basta fazer:

O botão default responde automaticamente ao enter e também ficará com uma borda mais forte. É muito útil no caso de dialogs modais.

Estou usando o getRootPane().setDefaultButton(seuBotao); porém só esta funcionando pra um unico botão do Frame. como posso resolver isso ?