Ajuda em Teclas de Atalho!

3 respostas
diego_perez

foi mo sufoco pra conseguir tirar o ALT das minhas teclas de atalho
mais conseguir
so q o botao deixou de pegar
so pega pela tecla q coloquei

ajuda ai no codigo ( pelo mause o botao nao pega)!!!

Action acao = new AbstractAction(){        
        public void actionPerformed(ActionEvent e) {     
        
            Login procurar = new Login(jPasswordFieldSenha.getText());  //  @jve:decl-index=0:   
               
            try{   
                SistemaDAO dao1 = new SistemaDAO();   
                 dao1.consulta(procurar);              
           
                   
                 jPasswordFieldSenha.setText("");   
       
                  
            }catch(SQLException e3) {   
            JOptionPane.showMessageDialog(null,"ERRO NO COMANDO !!");   
               
            }   
              
            
        }    
              
        };
	private JButton getJButtonlogar() {    
        if (jButtonlogar == null) {    
            jButtonlogar = new JButton(acao);    
            jButtonlogar.setBounds(new Rectangle(90, 163, 141, 37));    
            jButtonlogar.setFont(new Font("Lucida Sans Typewriter", Font.BOLD, 18));    
            jButtonlogar.setBackground(SystemColor.controlLtHighlight);    
            jButtonlogar.setIcon(new ImageIcon("C:/Documents and Settings/Diego Beltrão/Desktop/botões/aplicar.jpg"));    
            jButtonlogar.setText("LOGAR");   
  
            InputMap inputMap = jButtonlogar.getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW);      
                  
            inputMap.put(KeyStroke.getKeyStroke("ENTER"),"logar");    
            jButtonlogar.getActionMap().put("logar",acao);     
                
                
        }    
        return jButtonlogar;    
    }

3 Respostas

ViniGodoy

A forma correta de fazer um botão padrão, com enter, não é através dos inputmaps. Os inputmaps substituem completamente a função do enter, como vc pode ver.

A forma correta é definir esse botão como padrão.

Você faz isso chamando o método

getRootPane().setDefaultButton(jButtonlogar);

no lugar das linhas 34 e 35 do código que vc postou aqui.

O método getRootPane() pertence ao JFrame ou JDialog.

diego_perez

Mais quando eu coloco esse codigo e extends pra JFrame a tela nao aparece
so uma barrazinha pequena
nao pega se extender pra jframe
como eu foça

vlw

ViniGodoy

Dá algum erro?

A princípio, não era para ter dado problema nenhum. Sempre usei esse código tranquilo.

Criado 25 de fevereiro de 2011
Ultima resposta 28 de fev. de 2011
Respostas 3
Participantes 2