Gestion evenement d'un menu [Résolu]

bmikl59 77 Messages postés lundi 5 septembre 2005Date d'inscription 14 février 2008 Dernière intervention - 15 déc. 2006 à 15:41 - Dernière réponse : bmikl59 77 Messages postés lundi 5 septembre 2005Date d'inscription 14 février 2008 Dernière intervention
- 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 

4 réponses

Répondre au sujet
Ombitious_Developper 2333 Messages postés samedi 28 février 2004Date d'inscription 26 juillet 2013 Dernière intervention - 15 déc. 2006 à 16:04
+3
Utile
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);
    }
}
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de Ombitious_Developper
Ombitious_Developper 2333 Messages postés samedi 28 février 2004Date d'inscription 26 juillet 2013 Dernière intervention - 15 déc. 2006 à 15:53
0
Utile
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 77 Messages postés lundi 5 septembre 2005Date d'inscription 14 février 2008 Dernière intervention - 15 déc. 2006 à 15:55
0
Utile
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 77 Messages postés lundi 5 septembre 2005Date d'inscription 14 février 2008 Dernière intervention - 15 déc. 2006 à 16:48
0
Utile
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.