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

Agents de placement/Fenêtres Java Discussion :

transmettre evenement d'une JFrame a un JPanel


Sujet :

Agents de placement/Fenêtres Java

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    89
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Avril 2004
    Messages : 89
    Points : 51
    Points
    51
    Par défaut transmettre evenement d'une JFrame a un JPanel
    Bonjour tout le monde,
    Mon probleme est le suivant.
    J ai une class qui extends JFrame et une autre qui extends JPanel. J ai mis mes key listener dans la class qui extends JPanel mais voila ca fonctionne pas. Comment faire. Avant ke j avais le code dans une seule class ca fonctionnait mais voila comme le JPanel de la JFrame est amene a changer j ai pas le choix.

    Merci de votre aide.

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    429
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 429
    Points : 475
    Points
    475
    Par défaut
    Bonjour,

    Le tutoriel sur les KeyListeners
    http://java.sun.com/docs/books/tutor...ylistener.html
    indique :
    Key events tell you when the user is typing at the keyboard. Specifically, key events are fired by the component with the keyboard focus when the user presses or releases keyboard keys. For detailed information about focus, see How to Use the Focus Subsystem
    Il faut donc donner le focus au JPanel. L'exemple ci-dessous marche chez moi.

    Plus tard, tu rencontreras éventuellement des problèmes si d'autres éléments (JButton, ...) font perdre le focus au JPanel.

    Nicolas

    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
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
     
    class MyPanel extends JPanel {
     
        public MyPanel() {
            this.addKeyListener(new KeyAdapter() {
                public void keyPressed(KeyEvent ke) {
                    System.out.println("Une touche a été pressée");
                    }
            }
            );
        }
    }
     
    public class TestKeyListenerDansJPanel extends JFrame {
     
        public TestKeyListenerDansJPanel() {
            this.setTitle("Appuyez sur une touche");
            this.setSize(500,500);
            this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            MyPanel myPanel = new MyPanel();
            this.getContentPane().add(myPanel);
            this.setVisible(true);
            myPanel.requestFocusInWindow(); // ******
        }
     
        public static void main(String[] args) {
            new TestKeyListenerDansJPanel();
        } 
    }
    Nicolas

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    89
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Avril 2004
    Messages : 89
    Points : 51
    Points
    51
    Par défaut
    Merci beaucoup. C'est exactement ce que je recherchais. Comme ma JFrame ne me sert que de supports pour des JPanel.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Reparenter une fenêtre X11 avec une JFrame ou un JPanel ?
    Par paranoia dans le forum Agents de placement/Fenêtres
    Réponses: 0
    Dernier message: 06/08/2012, 11h52
  2. Atteindre une JFrame d'un JPanel
    Par Benduroy dans le forum Agents de placement/Fenêtres
    Réponses: 4
    Dernier message: 09/06/2011, 15h43
  3. Comment provoquer le pack() d'une Jframe depuis un JPanel sans ref sur la JFrame
    Par cdtkoenig dans le forum Agents de placement/Fenêtres
    Réponses: 4
    Dernier message: 21/07/2008, 20h11
  4. JPanel dans une JFrame ok, mais JPanel dans un JScrollPane dans une JFrame non :(
    Par FenX. dans le forum Agents de placement/Fenêtres
    Réponses: 4
    Dernier message: 22/05/2008, 11h45
  5. [debutant] Actualiser une JFrame et ses JPanel
    Par jerem721 dans le forum Agents de placement/Fenêtres
    Réponses: 2
    Dernier message: 27/02/2008, 12h22

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