Atalhos JButton

6 respostas
K

Galera já procurei alguns tuto no forum, mas nada me ajudo =(

Alguém ai sabe como eu coloco um atalho no Jbutton (OK) e o (Canccelar)

No ok quero coloca enter e no cancelar backspace.

Meu JButton ta assim com essas condições ai quero coloca o atalho enter nele

private void JButtonActionPerformed(java.awt.event.ActionEvent evt) {                                         
        
     if(JTextUsuario.getText().equals("Caixa"))  
    {
        new Menu().setVisible(true);
        this.dispose();
    }
    
      else if(JTextUsuario.getText().equals("Gerencia"))  
    {
        new Menu1().setVisible(true);
        this.dispose();
    }
     else
    {
        new Error().setVisible(true);
        this.dispose();   
    }
    
    }

Alguém tem alguma ideia? =(

6 Respostas

ViniGodoy
R

Boa dia, não lembro o codigo de cabeça, mas acho que da pra te passar uma luz de como eu faço: cria um novo evento para o botão do tipo KeyPress e e valida o eveto com um if utilizando o metodo evento.getKeyCode() == 10, o “10” equivale a tecla enter. se ele entrar no if vc seleciona o proximo campo e direciona o focus.

exemplo: não lembro da sintaxe correta, e nao tenho nenhuma ide aqui comigo para validar o codigo abaixo, mas a estrutura e essa, sua ide deve te ajudar a acertar o codigo.

public void jbuttonEventKeyPress (Evento evt){

if(evt.getKeyCode()==10){

jtextfield1.requestFocus();

}

}
K

Ae consegui, mas surgiu um probleminha D=

private void JButtonKeyPressed(java.awt.event.KeyEvent evt) {                                   
       
        if (evt.getKeyCode() == KeyEvent.VK_ENTER
                && ( ( JButton ) evt.getSource() ).hasFocus() ) {
           
           if(JTextUsuario.getText().equals("Caixa"))  
    {
        new Menu().setVisible(true);
        this.dispose();
    }
    
      else if(JTextUsuario.getText().equals("Gerencia"))  
    {
        new Menu1().setVisible(true);
        this.dispose();
    }
      else
    {
        new loginerrado().setVisible(true);
        this.dispose();   
    }

Tipo, se aperto enter digitando Caixa ou gerencia ele vai pros seus devidos menus, mas se eu não digito nada ou digito qualquer coisa diferente ele não entra no else

Alguém tem alguma ideia pra me ajuda? =(

Tipo um sei la como se fala, mas assim: "
else if (JTextUsuario.getText().equals !=  ("Caixa") &&   JTextUsuario.getText().equals !=  ("Gerencia"))
"

Existe alguma coisa do tipo -> " != " se JText DIFERENTE de Caixa e Gerencia { ... }

R

Pelo que pude perceber no seu código, toda validação só acontence dentro do if do evento ENTER. Não tem ELSE para esse if, então ele só vai validar se apertar mesmo. Quando esta validando o keypress ele avalia toda vez que aperta alguma tecla do teclado, mas você só está validando se apertar a tecla enter…entendeu? Vc pode colocar um else no if de getkeycode e toda vez que vc apertar alguma tecla que nao seja o enter ele vai pro else.

Qualquer coisa fala que tento escrever denovo.

K

kkk realmente, nem percebi T_T

if (evt.getKeyCode() == KeyEvent.VK_ENTER   && ( ( JButton ) evt.getSource() ).hasFocus() ) {  
             
                if(JTextUsuario.getText().equals("Caixa"))    
           {  
                   new Menu().setVisible(true);  
                   this.dispose();  
           }  
      
               else if(JTextUsuario.getText().equals("Gerencia"))    
           {  
                   new Menu1().setVisible(true);  
                   this.dispose();  
            }  
                                                                                                                                                          }

                if (evt.getKeyCode() == KeyEvent.VK_ENTER  && ( ( JButton ) evt.getSource() ).hasFocus() ) {    
        
               {  
                   new loginerrado().setVisible(true);  
                   this.dispose();     
               }
                                                                                                                                                         }

Tava pensando tanto em no comando != que nem percebi, valeu ai cara me ajudo muitoo!!!

R

Blza…qualquer coisa tamo ai.
vlw

Criado 19 de maio de 2012
Ultima resposta 19 de mai. de 2012
Respostas 6
Participantes 3