Botao swing

13 respostas
renanbarros

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

13 Respostas

lina

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:

//
// 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)
	{

	}
};

e para receber um focu no botão:

botao.requestFocus();

Espero ter ajudado..

Tchauzin!

renanbarros

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

lina

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

NataliaOliveira

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:

keller

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:

renanbarros

vlw mesmo pessoal…

valeu guilherme… eu uso o MVC já…

vou tentar aki e depois posto o codigo…

abracos

renanbarros

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?

NataliaOliveira

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().

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

Era isso? :roll:

renanbarros

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

recoma

Olhe aqui…

ViniGodoy

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.

L

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

Criado 10 de abril de 2007
Ultima resposta 25 de jun. de 2014
Respostas 13
Participantes 7