Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    février 2018
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Santé

    Informations forums :
    Inscription : février 2018
    Messages : 1
    Points : 1
    Points
    1

    Par défaut java swing : Fermer une JFrame avec le boutton Echap du clavier

    Bonjour les amis

    je suis nouveau dans la programmation.
    j'ai créer une Jframe avec un bouton fermer qui marche bien.
    j'aimerai aussi que ma fenêtre se ferme à l'aide du bouton du clavier ECHAP.

    j'ai essayé avec la methode fermer(); qui marche bien avec le bouton mais sans résultat.

    Merci d'avance.
    Images attachées Images attachées  

  2. #2
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    septembre 2009
    Messages
    11 459
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : septembre 2009
    Messages : 11 459
    Points : 26 863
    Points
    26 863
    Billets dans le blog
    2

    Par défaut

    Salut,

    Tu ne peux pas utiliser un KeyListener pour ça, parce qu'un KeyListener est attaché à un composant et que celui-ci doit avoir le focus pour recevoir les événements du clavier. Il faut capter les événements de façon plus générale, avec un KeyEventDispatcher :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    JFrame frame=new JFrame("démo");
    /**...**/
    KeyboardFocusManager.getCurrentKeyboardFocusManager().addKeyEventDispatcher(new KeyEventDispatcher() {
     
       @Override
       public boolean dispatchKeyEvent(KeyEvent e) {
           if ( (   e.getSource()==frame // si la source de l'évenement est la frame
                 || SwingUtilities.getWindowAncestor((Component)e.getSource())==frame) // ou si la source de la fenêtre est n'importe quel composant dans la fenêtre
                 && e.getID()==KeyEvent.KEY_PRESSED // au moment où la touche est enfoncée
                 && e.getKeyCode()==KeyEvent.VK_ESCAPE) { // si la touche est ESCAPE
    	   frame.dispose(); // on ferme la fenêtre
    	   return false; // on ne propage pas l'éveneement
    	}
    	return true;
       }
     
    });
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

Discussions similaires

  1. Fermer une application avec Java
    Par Badshade23 dans le forum Général Java
    Réponses: 3
    Dernier message: 28/01/2015, 11h59
  2. [Java/Java'scool][Swing] Ouvrir une JFrame avec un bouton
    Par El Kun dans le forum Agents de placement/Fenêtres
    Réponses: 1
    Dernier message: 13/05/2014, 10h16
  3. [Swing] fermer une fenetre enfant avec un bouton.
    Par TheSeb dans le forum AWT/Swing
    Réponses: 3
    Dernier message: 23/11/2013, 13h42
  4. [resolulu][SWING] action avant de fermer une JFrame
    Par berg dans le forum Agents de placement/Fenêtres
    Réponses: 2
    Dernier message: 18/06/2006, 00h15
  5. [VB6]Fermer une application avec VB
    Par Mylou dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 04/04/2003, 22h32

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo