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

Key Listener sur JPasswordField



  1. #1
    Lechero

    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

    -----
    A vaincre sans péril, on triomphe sans gloire (Corneille).

  2. #2
    Arzhur

    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
    Lechero

    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.
    A vaincre sans péril, on triomphe sans gloire (Corneille).

  4. #4
    Lechero

    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                   
    }
    A vaincre sans péril, on triomphe sans gloire (Corneille).

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

    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 !
    A vaincre sans péril, on triomphe sans gloire (Corneille).