Key Listener sur JPasswordField
Répondre à la discussion
Affichage des résultats 1 à 5 sur 5

Key Listener sur JPasswordField



  1. #1
    invite48ca7510

    Key Listener sur JPasswordField


    ------

    Bonjour,

    j'ai une fenêtre qui comporte un JPasswordField et un bouton "ok".

    Lorsque l'utilisateur entre un mot de passe et clique sur ok, une action se produit (ouverture d'une autre fenetre).

    Or, devoir à chaque déplacer la souris pour cliquer peut vite devenir ennuyeux (le mot de passe est demandé souvent...). J'aimerais donc ajouter un KeyListener sur le passwordfield de sorte que, lorsque l'utilisateur entre quelque chose puis appuie sur la touche entrée, se passe la même action que s'il avait cliqué sur "ok".

    J'ai créé cette fonction :
    Code:
    public void keyReleased(KeyEvent e)
        {
            int key = e.getKeyCode();
            if(e.getSource()==passwordField){
                if(key==KeyEvent.VK_ENTER){
                    verifPass();
                }
            }
        }
    mais je ne sais pas quoi en faire...

    Merci d'avance pour votre aide

    -----

  2. #2
    invitef35ebd48

    Re : Key Listener sur JPasswordField

    Bonjour,


    C'est bien ça, ça marche pas ? T'as une Exception de levée ou je sais pas quoi ?

  3. #3
    invite48ca7510

    Re : Key Listener sur JPasswordField

    Bonjour,

    non, je n'ai rien du tout !
    Je tape un texte, j'appuie sur entrée et rien. Pas d'erreur, d'exception ... J'ai mis cette fonction un peu au hasard dans mon code.

  4. #4
    invite48ca7510

    Re : Key Listener sur JPasswordField

    Voici le code en entier, ce sera surement plus simple :

    Code:
    import java.awt.event.KeyEvent;
    import javax.swing.JOptionPane;
    
    public class Authentification extends javax.swing.JFrame {
    
        public Authentification() {
            initComponents();
            setLocationRelativeTo(null);  
            
        }
    
        public void keyReleased(KeyEvent e) {
            int key = e.getKeyCode();
            if(e.getSource()==passwordField){
                if(key==KeyEvent.VK_ENTER){
                    monAction
                }
            }
        }
                          
        private void initComponents() { /* code généré automatiquement */
        }
       
        private void okAuthActionPerformed(java.awt.event.ActionEvent evt) {                                       
            monAction 
        }                                      
    
        private void cancelAuthActionPerformed(java.awt.event.ActionEvent evt) {                                           
            dispose();
        }                                          
                                      
    
        public static void main(String args[]) {
            java.awt.EventQueue.invokeLater(new Runnable() {
                @Override
                public void run() {
                    new Authentification().setVisible(true);
                }
            });
        }
    
        // Variables declaration - do not modify                     
        private javax.swing.JButton cancelAuth;
        private javax.swing.JButton okAuth;
        private javax.swing.JPasswordField passwordField;
        private javax.swing.JLabel passwordLabel;
        // End of variables declaration                   
    }

  5. A voir en vidéo sur Futura
  6. #5
    invite48ca7510

    Re : Key Listener sur JPasswordField

    J'ai trouvé !

    Comme j'ai construit l'interface avec l'outil graphique de Netbeans pour ajouter un event, il fallait que je clique droit sur le JPasswordField => Event => KeyReleased et ajouter ceci :
    Code:
    int key = evt.getKeyCode();
    if (key == KeyEvent.VK_ENTER) {
    monAction
    }
    Voilà tout, désolé pour le dérangement, mais je ne suis pas habitué à la génération d'interface ^^

    Bonne soirée et bon weekend !