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 :

probleme avec JPopupMenu


Sujet :

AWT/Swing Java

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 57
    Par défaut probleme avec JPopupMenu
    bonjour,

    jai une fenetre avec un JPopupMenu qui saffiche avec le code suivant :
    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
    final JPopupMenu labelPopupMenu = new JPopupMenu();
    final JMenuItem a = new JMenuItem("Ajouter");
    final JMenuItem b = new JMenuItem("Supprimer");
    labelPopupMenu.add((a));
    labelPopupMenu.add((b));
     
    laFenetre.addMouseListener(new MouseAdapter(){
     
    publicvoid mouseClicked(MouseEvent e) {
    // clic sur le bouton droit 
    if(e.getButton() == MouseEvent.BUTTON3) {
    labelPopupMenu.setVisible(true);
    labelPopupMenu.show(e.getComponent(), e.getX(), e.getY());
    labelPopupMenu.pack();
    }
    });
    
    le probleme cest que je narrive pas a savoir sur quel item l'utilisateur a clicke

    pourriez vous maider???

  2. #2
    Membre Expert
    Avatar de afrikha
    Profil pro
    Étudiant
    Inscrit en
    Août 2005
    Messages
    1 600
    Détails du profil
    Informations personnelles :
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2005
    Messages : 1 600
    Par défaut
    utilise
    qui te renvoie une référence sur l'objet qui a émis l'événement.


    Mes publications
    Lisez
    Les régles du forum
    Pensez au bouton

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 57
    Par défaut
    excuse moi mais jai pas compris ce que renvoyer

  4. #4
    Membre Expert
    Avatar de afrikha
    Profil pro
    Étudiant
    Inscrit en
    Août 2005
    Messages
    1 600
    Détails du profil
    Informations personnelles :
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2005
    Messages : 1 600
    Par défaut
    elle renvoie une référence sur un objet dans ta JFrame....(cf cours de java !)
    sinon tu pourrais l'utiliser de la sorte
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    if(e.getSource()==maFrame.item1)
    //faire le traitement comme si on avait cliqué sur item1
    Voilà j'éspére que c'est clair.


    Mes publications
    Lisez
    Les régles du forum
    Pensez au bouton

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 57
    Par défaut
    jai compris ce que tu ma dis

    jai recreer un MousListener :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    
    laFenetre.addMouseListener(new MouseAdapter(){
    
    publicvoid mouseClicked(MouseEvent e) {
    if(e.getSource() == b)
    System.err.println("iddddddd");
    }
    
    });
    
    (mon b correspond a un item)

    mais il se passe rien..

  6. #6
    Membre éclairé Avatar de le Daoud
    Profil pro
    Inscrit en
    Novembre 2002
    Messages
    287
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Novembre 2002
    Messages : 287
    Par défaut
    A mon avis tu dois ajouter ton listener aux boutons

  7. #7
    Membre Expert
    Avatar de afrikha
    Profil pro
    Étudiant
    Inscrit en
    Août 2005
    Messages
    1 600
    Détails du profil
    Informations personnelles :
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2005
    Messages : 1 600
    Par défaut
    Quelques questions:
    1)est-tu sous Linux ?
    2)ton b c'est quoi ?

    Sinon essaye
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    System.out.println("evenement reçu");


    Mes publications
    Lisez
    Les régles du forum
    Pensez au bouton

  8. #8
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 57
    Par défaut
    voici mon code :
    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
    final JPopupMenu labelPopupMenu = new JPopupMenu();
    final JMenuItem a = new JMenuItem("Ajouter ");
    final JMenuItem b = new JMenuItem("Supprimer");
    labelPopupMenu.add((a));
    labelPopupMenu.add((b));
    
     
    laFenetre.addMouseListener(new MouseAdapter(){
    
    publicvoid mouseClicked(MouseEvent e) {
    // clic sur le bouton droit 
    if(e.getButton() == MouseEvent.BUTTON3) {
    labelPopupMenu.setVisible(true);
    labelPopupMenu.show(e.getComponent(), e.getX(), e.getY());
    labelPopupMenu.pack();
    }
    }
    });
    
    laFenetre.addMouseListener(new MouseAdapter(){
    
    publicvoid mouseClicked(MouseEvent e) {
    if(e.getSource() == b)
    System.out.println("iddddddd");
    }
    
    });
    
    mon "b" cest un JMenuItem
    non je suis sous windows car je nest pas eu le tps dinstall la version 5 de java sur linux

  9. #9
    Membre Expert
    Avatar de afrikha
    Profil pro
    Étudiant
    Inscrit en
    Août 2005
    Messages
    1 600
    Détails du profil
    Informations personnelles :
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2005
    Messages : 1 600
    Par défaut
    Comme l'a suggéré leDaoud ; ajoute ton listener à b au lieu de laFenetre.


    Mes publications
    Lisez
    Les régles du forum
    Pensez au bouton

  10. #10
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 57
    Par défaut
    ba javais deja essayer de faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    
    b.addMouseListener(new MouseAdapter(){
    
    publicvoid mouseClicked(MouseEvent e) {
    if(e.getSource() == b)
    System.out.println("iddddddd");
    }
    
    });
    
    mais meme si jenleve mon if il ne passe jamais dedans...

    la je comprend plus rien..

  11. #11
    Expert confirmé
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Par défaut
    Tout simplement tu vas avoir un listener (un MouseListener) sur ta fenêtre afin d'afficher ton JPopupMenu et un actionListener sur tes JMenuItems (soit un par JMenuItem soit un Gérant l'enseble des JMenuItems) afin d'écouter les actions sur ceux cis

  12. #12
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 57
    Par défaut
    ok cest bon ca fonctionne (merci Sinok ) et les autres
    SUJET RESOLU!!!!

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

Discussions similaires

  1. Probleme avec actionPerformed dans JPopupMenu
    Par Bardack dans le forum AWT/Swing
    Réponses: 9
    Dernier message: 23/02/2007, 12h49
  2. Probleme avec la copie des surfaces
    Par Black_Daimond dans le forum DirectX
    Réponses: 3
    Dernier message: 09/01/2003, 10h33
  3. probleme avec la touche F10
    Par b.grellee dans le forum Langage
    Réponses: 2
    Dernier message: 15/09/2002, 22h04
  4. Probleme avec fseek
    Par Bjorn dans le forum C
    Réponses: 5
    Dernier message: 04/08/2002, 07h17
  5. [Kylix] probleme avec un imagelist
    Par NicoLinux dans le forum EDI
    Réponses: 4
    Dernier message: 08/06/2002, 23h06

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