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

avec Java Discussion :

Aucune action dans Menu contextuel


Sujet :

avec Java

  1. #1
    Membre confirmé Avatar de hugoclo
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    615
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Décembre 2007
    Messages : 615
    Points : 480
    Points
    480
    Par défaut Aucune action dans Menu contextuel
    Bonjour,
    Voila j'ai une classe dans laquelle je crée un menu contextuel.
    Quand je clique droit le menu s'affiche bien mais quand je selectionne une action rien ne se passe.
    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
      public static void main(String args[]) {
            /* Set the Nimbus look and feel */
            //<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
            /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
             * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html 
             */
            try {
                for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
                    if ("Nimbus".equals(info.getName())) {
                        javax.swing.UIManager.setLookAndFeel(info.getClassName());
                        break;
                    }
                }
            } catch (ClassNotFoundException ex) {
                java.util.logging.Logger.getLogger(TransF.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
            } catch (InstantiationException ex) {
                java.util.logging.Logger.getLogger(TransF.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
            } catch (IllegalAccessException ex) {
                java.util.logging.Logger.getLogger(TransF.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
            } catch (javax.swing.UnsupportedLookAndFeelException ex) {
                java.util.logging.Logger.getLogger(TransF.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
            }
            //</editor-fold>
     
            /* Create and display the form */
            java.awt.EventQueue.invokeLater(new Runnable() {
                public void run() {
                    new TransF().setVisible(true);
     
                }
            });
       }
    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
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    public TransF() {
     
     
            initComponents();
            setIconImage(Toolkit.getDefaultToolkit().getImage(ModifPosit.class.getResource("icone.png")));
            //jTextArea2.add(new affibtnloncourt());
             jTextArea2.getDocument().addDocumentListener(new MyDocumentListener());
             jTextArea1.getDocument().addDocumentListener(new MyDocumentListener());
             formes = new JPopupMenu();
             sauve = new JMenu("Sauvegarde");
             formes.add(sauve);
             ouvrire = new JMenu("Ouvrire");
             formes.add(ouvrire);
             verslongs = new JMenuItem("Version longue");
             sauve.add(verslongs);
             verslongs.addActionListener(null);
             verscourts = new JMenuItem("Version courte");
             sauve.add(verscourts);
             verscourts.addActionListener(null);
             verslongo = new JMenuItem("Version longue");
             ouvrire.add(verslongo);
             verslongo.addActionListener(null);
             verscourto = new JMenuItem("Version courte");
             ouvrire.add(verscourto);
             verscourto.addActionListener(null);
             addMouseListener(new MouseAdapter() 
                 {
                     public void mouseReleased(MouseEvent e)
                     {
                         if (e.isPopupTrigger())
                             formes.show(e.getComponent(), e.getX(), e.getY());
                     }
    });
       }
        public void actionPerformed(ActionEvent e)
        {
            Object source = e.getSource();
                if (source == verslongo)
                    {
                        FileDialog fDial=new FileDialog(this, "Ouvrir", FileDialog.LOAD);
                        fDial.show();
                        String fichierContenu= "";
                        try
                             {
                                RandomAccessFile raf = new RandomAccessFile(fDial.getDirectory() + fDial.getFile(), "r");
                                String ligne;
                                     while ( (ligne = raf.readLine()) != null )
                                          {
                                             fichierContenu += ligne + "\n";
                                           }
                                             jTextArea2.setText(fichierContenu);
                                             }
                        catch (IOException ev)
                                {
                                System.out.println("erreur dans: " + ev);
                                }
                    }
                if (source == verscourto)
                    {
                        FileDialog fDial=new FileDialog(this, "Ouvrir", FileDialog.LOAD);
                        fDial.show();
                        String fichierContenu= "";
                        try
                            {
                                RandomAccessFile raf = new RandomAccessFile(fDial.getDirectory() + fDial.getFile(), "r");
                                String ligne;
                                while ( (ligne = raf.readLine()) != null )
                                        {
                                        fichierContenu += ligne + "\n";
                                        }
                                        jTextArea1.setText(fichierContenu);
                            }
                        catch (IOException ev)
                            {
                            System.out.println("erreur dans: " + ev);
                            }
                    }
                if (source == verscourts)
                    {
                        Sauvegarde su = new Sauvegarde();
                        su.Sauvegarde(jTextArea1, null);
                    }
                if (source == verslongs)
                    {
                        Sauvegarde su = new Sauvegarde();
                        su.Sauvegarde(jTextArea2, null);
                    }
        }
    Si içi
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     verslongs.addActionListener(null);
    je met autre chose que null j'ai une erreur.

  2. #2
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Janvier 2010
    Messages
    312
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 312
    Points : 533
    Points
    533
    Par défaut
    bonjour,

    le probleme vient bien de là :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    verslongs.addActionListener(null);
    il faut lui donner la référence de la classe qui implemente ActionListener (cad la classe qui override actionPerformed() ).

    Dans ton cas c'est this qui correspond à la classe courante soit TransF

    donc remplace les null par this :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    verslongs.addActionListener(this);
    Et comme je l'ai dit précedemment il faut que transF implemente ActionListener donc dans la définition de ta classe il faut :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    public class TransF .... implements ActionListener {
        .....
    }

  3. #3
    Membre confirmé Avatar de hugoclo
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    615
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Décembre 2007
    Messages : 615
    Points : 480
    Points
    480
    Par défaut
    Parfait merci

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

Discussions similaires

  1. Assigner des actions dans le contextuel menu
    Par maroua_mm dans le forum Qt
    Réponses: 1
    Dernier message: 03/08/2009, 13h48
  2. probleme d'action dans menu déroulant
    Par shreck dans le forum Flash
    Réponses: 2
    Dernier message: 01/06/2007, 16h04
  3. Gras dans menu contextuel
    Par sunvialley dans le forum Access
    Réponses: 2
    Dernier message: 05/05/2006, 13h44
  4. Réponses: 8
    Dernier message: 16/03/2006, 07h36
  5. Icône dans menu contextuel
    Par Larion dans le forum C++Builder
    Réponses: 4
    Dernier message: 01/04/2005, 22h45

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