Série da semana: Angular, API RESTful e Banco de Dados

Veja mais

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

11/11/2011

1

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.

Posts

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.
adicione um ActionListener ao campo e no método actionPerformed desse faz o que é para ser executa ao apertar o [b]Enter[/b] [[]]
Responder
Num ajudou ainda não.
essa sua afirmação também não ajuda. pelo menos mostra o que você tentou fazer, e onde está tendo problema.
Responder
posta o código ae do q vc tem
Responder

11/11/2011

Mathews Motta

Num ajudou ainda não.
Amigo, primeiramente ninguém aqui é seu empregado. Se o sr. está com problemas, precisa de ajuda, peça encarecidamente e TORÇA para alguém disposto tentar analisar seu problema e tentar te ajudar. Ele te deu uma solução e você não conseguiu implementá-la. Por que não conseguiu? Não encaixou a função? DE QUE FORMA VOCÊ TENTOU INCLUIR A SOLUÇÃO CITADA PELO SIMU EM SEU CÓDIGO? Não sabe implementar o que foi citado? Pergunte direito e pelo menos finja que se importa em dar um feedback construtivo.
Responder

11/11/2011

Jonilson N

tudo bem desculpe se estou sendo grosseiro, eu achei que dava pra entender a minha duvida mas ta aqui o código
    if (evt.getKeyCode() == KeyEvent.VK_ENTER){   
               
        } 
No campo senha eu fui lá em [b]Eventos>Key>KeyPressed[/b] pra ver se funcionava, mas não deu certo por isso peço que alguem me ajude.
Responder
tudo bem desculpe se estou sendo grosseiro, eu achei que dava pra entender a minha duvida mas ta aqui o código
    if (evt.getKeyCode() == KeyEvent.VK_ENTER){   
               
        } 
No campo senha eu fui lá em [b]Eventos>Key>KeyPressed[/b] pra ver se funcionava, mas não deu certo por isso peço que alguem me ajude.
Já tinha entendido (acho) o que você quer alcançar! Mas o que fez não está nem um pouco parecido com o que eu escrevi.
[quote="Rapadura"] [...]
adicione um ActionListener ao campo e no método actionPerformed desse faz o que é para ser executa ao apertar o [b]Enter[/b] [[]] [/quote]
senha.addActionListener(new ActionListener() {
    @Override
    public void actionPerformed(ActionEvent ev) {
        // código a ser executado se pressionar 
        // ENTER no campo 'senha'
        doLogin();  // EXEMPLO
    }
});
se tiver um botão (não vi no código), pode usar o mesmo Listener dele... [i]e agora vou cuidar da minha vida - tem um planador para dar manutenção[/i] - boa sorte -
Responder

11/11/2011

Mathews Motta

tudo bem desculpe se estou sendo grosseiro
Sem problemas. Me desculpa a forma como falei também. Mas foi bom para servir como exemplo para eventos futuros. Veja que você simplesmente falou "Não ajudou", mas na verdade nem tinha tentado colocar o que ele ensinou. Sacou?
Responder

11/11/2011

Douglas Eric

Elmatador. Se você postar aqui também, falando pra mim banir o Mathews.... vão ter consequências.
Responder

11/11/2011

Douglas Eric

Acho que entendi seu problema. Também estou trabalhando em um programa onde é necessário digitar login e senha e depois clicar no botão "Logar". A solução, para o meu caso, é bem simples... Dentro do seu método que monta a janela (na classe que contém seu JFrame), basta adicionar o código:
meuFrame.getRootPane().setDefaultButton(btLogin);
Espero ter ajudado! :)
Responder

11/11/2011

Douglas Eric

**Complementando... Para que seu botão execute alguma ação depois de pressionar "Enter" no teclado, [b]é[/b] necessário que você tenha um [i]ActionListener[/i] atribuído a ele, como mostrou o simu:
btLogin.addActionListener(new ActionListener() {  
    @Override  
    public void actionPerformed(ActionEvent ev) {  
        // código a ser executado se pressionar   
        // ENTER no campo 'senha'  
        doLogin();  // EXEMPLO  
    }  
});  
Responder

11/11/2011

Douglas Eric

tem um problema nessa história. Pelo menos comigo. Quando eu coloco um actionListener em um botão, ele só funciona se eu clicar. Se eu apertar o enter com ele selecionado, não! mas se eu apertar a barra de espaço, ae funciona. Por que será isso??
Responder

11/11/2011

Douglas Eric

:arrow: Funciona perfeitamente aqui...
private JButton login_bt;

public TelaLogin() {
        //... interface...
	login_bt = new JButton("Logar");
	login_bt.addActionListener(this);
        //..... mais interface
	janela.getRootPane().setDefaultButton(login_bt);
}
A classe já implementa [i]ActionListener[/i], dentro do [i]actionPerformed()[/i] faço verificação e tals...
Responder

11/11/2011

Douglas Eric

meus actionlisteners nos jbuttons só funcionam com a barra de espaço :shock: :shock: :shock:
Responder

12/11/2011

Douglas Eric

meus actionlisteners nos jbuttons só funcionam com a barra de espaço :shock: :shock: :shock:
Realmente muito útil vc ter uma variedade imensa de actionlisteners só podendo apertar espaço !! Hahahaha!
Responder

12/11/2011

Douglas Eric

tem um problema nessa história. Pelo menos comigo. Quando eu coloco um actionListener em um botão, ele só funciona se eu clicar. Se eu apertar o enter com ele selecionado, não! mas se eu apertar a barra de espaço, ae funciona. Por que será isso??
deve estar usando o Look&Feel Metal ou Ninbus... tenta um outro (Motif, Windows, ...) [[]]
Responder