Como executar uma ação apertando a tecla Enter ?

11/11/2011

0

Eu fiz uma tela de login, porem quando eu termino de colocar usuário e senha eu queria que quando apertasse a tecla Enter o login ficasse valido ao invés de clicar com o mouse no botão entrar. Eu tenho um campo de usuário e outro de senha e também tenho um botão de entrar e outro de sair. O que devo fazer ? ir na opção KeyPressed do campo senha? e qual seria o código para funcionar a tecla [b]Enter [/b]? eu quero quando o terminar de digitar a senha e já pressionar enter. me ajudem.
Jonilson N

Jonilson N

Responder

Posts

12/11/2011

Douglas Eric

[quote="Rapadura"]ir na opção KeyPressed do campo senha? e qual seria o código para funcionar a tecla [b]Enter [/b]?
public void keyPressed(KeyEvent ke) {
    if (ke.getKeyCode() == KeyEvent.VK_ENTER) {
        // pressionou enter
    }
}
Responder

12/11/2011

Douglas Eric

[quote="sekkuar"]meus actionlisteners nos jbuttons só funcionam com a barra de espaço :shock: :shock: :shock:
Veja este link: [url]http://download.oracle.com/javase/tutorial/uiswing/misc/keybinding.html[/url] [quote="MathewsMotta"] Realmente muito útil vc ter uma variedade imensa de actionlisteners só podendo apertar espaço !! Hahahaha!
Não ha variedade, a interface ActionListener é uma só. O que acontece é que o ActionMap de cada componente é que determina quais ações notificam as instancias de ActionListener registradas para o componente
Responder

12/11/2011

Douglas Eric

e o ActionMap padrão (default) depende do Look&Feel...
Responder

12/11/2011

Douglas Eric

[quote="simu"]e o ActionMap padrão (default) depende do Look&Feel...
Deve ser. Nas minhas aplicações eu uso o look and feel [url=http://www.jtattoo.net/]JTattoo[/url]. Mas, se eu alterar o ActionMap (link que o starosk me mandou), quando o look and feel mudar, ele vai ser sobreescrito de novo? Pois, eu tenho um menu para o usuário escolher entre os diferentes look and feels e themes da biblioteca.
Responder

12/11/2011

Douglas Eric

[quote="staroski"] Não ha variedade, a interface ActionListener é uma só. O que acontece é que o ActionMap de cada componente é que determina quais ações notificam as instancias de ActionListener registradas para o componente
Na verdade o que eu quis dizer é que você pode fazer um actionlistener diferente para cada botão do teclado.
Responder

12/11/2011

Douglas Eric

[quote="MathewsMotta"][quote="staroski"] Não ha variedade, a interface ActionListener é uma só. O que acontece é que o ActionMap de cada componente é que determina quais ações notificam as instancias de ActionListener registradas para o componente
Na verdade o que eu quis dizer é que você pode fazer um actionlistener diferente para cada botão do teclado.
Um actionListener para cada botão do teclado? O_O
Responder

12/11/2011

Douglas Eric

[quote="sekkuar"][quote="simu"]e o ActionMap padrão (default) depende do Look&Feel...
Deve ser. Nas minhas aplicações eu uso o look and feel [url=http://www.jtattoo.net/]JTattoo[/url]. Mas, se eu alterar o ActionMap (link que o starosk me mandou), quando o look and feel mudar, ele vai ser sobreescrito de novo? Pois, eu tenho um menu para o usuário escolher entre os diferentes look and feels e themes da biblioteca.
melhor é testar, pode ser que uma vez alterado, o ActionMap não volta ao padrão (mudanças não são apagadas) [[]]
Responder

13/02/2016

Douglas Eric

Desculpem por ressuscitar um tópico antigo, mas estava com o mesmo problema e uma das primeiras páginas que me apareceu foi essa. Resolvi meu problema da seguinte maneira: Utilizei a IDE Netbeans. Clicando com o botão direito no campo desejado selecionei a opção Eventos > Key > KeyPressed. Toda vez que uma tecla for pressionada nesse campo, essa função será chamada.
private void TabelaKeyPressed(java.awt.event.KeyEvent evt) {
        
        if (evt.getKeyCode() == KeyEvent.VK_SPACE){
            //O botão desejado foi pressionado então só preciso
            //inserir o código aqui, no caso, execute o código do botão que realiza o login
        }        
    }  
 
Observe que a função recebe como parâmetro o evt, que contém todas as informações da tecla que acabou de ser pressionada. Tudo que precisa fazer é comparar o código dessa tecla (evt.getKeyCode()) com a da tecla que você deseja. No meu caso, Utilizei o KeyEvent.VK_SPACE, que retorna um inteiro correspondente à tecla desejada, no caso o espaço.
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar