IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
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

AWT/Swing Java Discussion :

[event] probleme KeyListener


Sujet :

AWT/Swing Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    67
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 67
    Par défaut [event] probleme KeyListener
    Je cree un clavier avec des JButton dans une class JPanel (nommé PanelMot):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    a = new JButton("a");	
    b = new JButton("b");
    c = new JButton("c");
    d = new JButton("d");
    les JButton sont déclaré en attribut il sont initialisé dans le constructeur de mon JPanel
    J'ajoute des KeyListener dans le constructeur de mon Panel

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    a.addKeyListener(dem.rendreJoueurLocal());
    b.addKeyListener(dem.rendreJoueurLocal());
    c.addKeyListener(dem.rendreJoueurLocal());
    j'ajoute tous ces JButton a un PanelMot.

    plus tard dans le programme je fais ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    	principale.remove(panelmot);
    	panelmot = new PanelMot(dem);
    	principale.add(panelmot,BorderLayout.SOUTH);
    les KeyListener ont disparru pourtant je les recrés lors de l'appel au constructeur de PanelMot

    Je ne comprend pas
    merci de votre aide

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 54
    Par défaut
    => Voici un bout de code qui capte les touches tapées lorsqu'un JButton a le focus .
    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
    18
    19
    20
    21
    22
     
            // Déclaration des objets
            JFrame frame = new JFrame();
            JPanel panel = new JPanel();
            JButton button = new JButton("Pouet");
     
            // Déclaration du Listener par surcharge de la methode keyPressed
            KeyListener listener = new KeyAdapter() {
                public void keyPressed(KeyEvent e) {
                    System.out.println("'"+e.getKeyChar()+"' recu");
                }
            };
     
            // Ajout du Listener
            button.addKeyListener(listener);
     
            // Ajout des objets et affichage
            panel.add(button);
            frame.getContentPane().add(panel);
            frame.setSize(frame.getPreferredSize());
            frame.setDefaultCloseOperation(frame.EXIT_ON_CLOSE);
            frame.setVisible(true);
    Cela dit, je ne pense pas que mettre un KeyListener sur un JButton soit une bonne idée, tu ne peux pas passer par des ActionListener ?

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    67
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 67
    Par défaut ActionListener
    J'utilise un actionListener pour les clique de sourrie

    mais bon je pensais utilisé un KeyListener quand il tape au clavier.

    aussi mes KeyListener fonctionne tres bien mais un moment j'ai besoin d'effacer mon Panel alors j'appel la fonction remove().

    apres je recree le panel exactement comme la premiere fois sauf que cette fois les KeyListener n'existe plus !

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    67
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 67
    Par défaut en fait non
    je me suis trompé les KeyListener sont bien la mais il ne fonctionne pas tout de suite !

    je suis d'abord obligéé de cliquer une premiere fois sur un bouton pour que le KeyListener fonctionne.

    c vraiment bizard est ce que quelqu'un peu m'aider

Discussions similaires

  1. rescall et event probleme
    Par talu3000 dans le forum Silverlight
    Réponses: 0
    Dernier message: 17/11/2009, 15h06
  2. Probleme keyListener
    Par tit_oune dans le forum AWT/Swing
    Réponses: 2
    Dernier message: 12/04/2006, 09h18
  3. [vb.net][datagrid] probleme avec l'event lostfocus
    Par graphicsxp dans le forum Windows Forms
    Réponses: 2
    Dernier message: 10/10/2005, 13h24
  4. [MFC] Probleme Key Events
    Par vainsoul dans le forum MFC
    Réponses: 11
    Dernier message: 08/08/2005, 12h01
  5. [event] keyListener non pris en compte
    Par pierre.zelb dans le forum Agents de placement/Fenêtres
    Réponses: 5
    Dernier message: 03/08/2005, 08h35

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