Gestion evenement d'un menu [Résolu]

bmikl59
Messages postés
77
Date d'inscription
lundi 5 septembre 2005
Dernière intervention
14 février 2008
- 15 déc. 2006 à 15:41 - Dernière réponse : bmikl59
Messages postés
77
Date d'inscription
lundi 5 septembre 2005
Dernière intervention
14 février 2008
- 15 déc. 2006 à 16:48
Voila

Je crée un menu
Pour mon exemple je fais simple
J'ai le menu fichier avec dedans, nouveau et quitter

Quand on clic sur nouveau, une fenetre s'affiche
quand on clic sur quitter ca quitte

Voici mon code

private

JMenuBar setMenu() {

menuBar =
new JMenuBar();

//ajout des element du menu Fichier

menu =
new JMenu(
"Fichier");

menuBar.add(
menu);

menuItem =
new JMenuItem(
"Quitter");

menuItem.addActionListener(
this);

menu.add(
menuItem);

menuItem =
new JMenuItem(
"New");

menuItem.addActionListener(
this);

menu.add(
menuItem);

return
menuBar;}




public

void actionPerformed(ActionEvent e) {

if (e.getSource() ==
menuItem) System.exit(1);}

Comment gerer 2 evenemenr sur un meme objet
Ce qu'il faudrait c'est pouvoir faire le test sur "Quitter" et "New" mais je ne trouve pas comment

kikisé ilmeldit
Afficher la suite 

Votre réponse

4 réponses

Meilleure réponse
Ombitious_Developper
Messages postés
2333
Date d'inscription
samedi 28 février 2004
Dernière intervention
26 juillet 2013
- 15 déc. 2006 à 16:04
3
Merci
Salut:

Je ne comprends pas ta question.
J'ai déclaré mes JMenuItem comme attributs de ma classe parceque j'ai besoin de garder trace de leurs référence, sinon tu peux ne pas les déclarer en tantque attributs de ta classe et utiliser ceci:


public class TestMenu extends JFrame implements ActionListener {
    public static final String ACTION_NEW  = "nouveau";
    public static final String ACTION_QUIT = "quitter";

    private void createMenu () {
       JMenuBar menuBar = new JMenuBar ();
       JMenu fileMenu = new JMenu ("Fichier");

       JMenuItem newItem = new JMenuItem ("Nouveau");
       newItem.addActionListener (this);
       newItem.setActionCommand (ACTION_NEW);

       JMenuItem quit



Item = new JMenuItem ("Quitter");

       quitItem.addActionListener (this);
       quitItem.setActionCommand (ACTION_QUIT);

       fileMenu.add (newItem);
       fileMenu.addSeparator ();
       fileMenu.add (quitMenu);

       menuBar.add (fileMenu);


       setJMenu (menuBar);
    }

    public TestMenu () {
       super ("Test Menu");
       // ...
      
       createMenu ();
    }
   
    public void actionPerformed (ActionEvent ae) {
       if (ae.getActionCommand ().equals (ACTION_NEW)) {
          // ...
       }
       else if (ae.getActionCommand ().equals (ACTION_QUIT))
          System.exit (0);
    }
}

Merci Ombitious_Developper 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 94 internautes ce mois-ci

Commenter la réponse de Ombitious_Developper
Ombitious_Developper
Messages postés
2333
Date d'inscription
samedi 28 février 2004
Dernière intervention
26 juillet 2013
- 15 déc. 2006 à 15:53
0
Merci
Salut:

Pourquoi tu compilque les choses alors que tu peux t'en sortir facilement.

public class TestMenu extends JFrame implements ActionListener {
    private JMenuItem newItem;
    private JMenuItem quitItem;

    private void createMenu () {
       JMenuBar menuBar = new JMenuBar ();
       JMenu fileMenu = new JMenu ("Fichier");

       newItem = new JMenuItem ("Nouveau");
       newItem.addActionListener (this);
      
       quit

Item = new JMenuItem ("Quitter");

       quitItem.addActionListener (this);

       fileMenu.add (newItem);
       fileMenu.addSeparator ();
       fileMenu.add (quitMenu);

       menuBar.add (fileMenu);




       setJMenu (menuBar);
    }

    public TestMenu () {
       super ("Test Menu");
       // ...
      
       createMenu ();
    }
   
    public void actionPerformed (ActionEvent ae) {
       if (ae.getSource () == newItem) {
          // ...
       }
       else if (ae.getSource () == quitItem)
          System.exit (0);
    }
}
Commenter la réponse de Ombitious_Developper
bmikl59
Messages postés
77
Date d'inscription
lundi 5 septembre 2005
Dernière intervention
14 février 2008
- 15 déc. 2006 à 15:55
0
Merci
J'ai une ptite idée, est ce que je suis obligé de declarer autant de JMenuItem que j'ai d'élément dans mon menu?
Commenter la réponse de bmikl59
bmikl59
Messages postés
77
Date d'inscription
lundi 5 septembre 2005
Dernière intervention
14 février 2008
- 15 déc. 2006 à 16:48
0
Merci
Sympa la méthode, merci, excatement ce que je voulais
Au debut j'avais du mal mais la j'ai reussi a créer ma classe menu qui s'instencie dans la création de ma fenetre
Je vois maintenant que j'ai encore beaucoup de boulot avant d'avoir une interface la route

mais merci pour la technique
Commenter la réponse de bmikl59

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.