Salut,

Je veux activer et désactiver un JMenuItem (mi1) quand on clique sur le JMenuItem mi2. Le problème c'est que je
veux avoir une unité de compilation pour la barre de menu, et une autre dans laquelle
je vais gérer le clic sur mi2.

voilà le fichier java qui permet d'avoir la barre de menu:

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
 
 
package test;
 
import javax.swing.*;
 
import java.awt.event.*;
 
 
 
public class Barmenu extends JMenuBar
{
  Acceuil a = new Acceuil(); // la classe qui gère le clic sur mi2
 
  // les options du menu fichier
 
  JMenuItem mi1;
  JMenuItem mi2;
 
  public Barmenu()
  {
    // le menu fichier
 
    JMenu m1 = new JMenu("Fichier");
    m1.setMnemonic(KeyEvent.VK_F);
 
    // les options du menu fichier
 
    mi1 = new JMenuItem("MenuItem 1");
    mi2 = new JMenuItem("MenuItem 2");
 
   // ajout d'un écouteur d'actions au menuitem2
 
   mi2.addActionListener(a);
 
   // ajout des options au menu fichier
 
   m1.add(mi1);
   m1.add(mi2);
 
   // ajout du menu fichier à la barre de menu
 
   add(m1);
 
 }
 
}
le fichier qui gère le clic sur mi2:

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
 
 
package test;
 
import javax.swing.*;
 
import java.awt.*;
import java.awt.event.*;
 
public class Acceuil extends JFrame implements ActionListener 
{
  Barmenu bar;
 
  public Dimension getPreferredSize()
  {
    return new Dimension (700,550);
  }
 
  public Acceuil()
  {
  }
 
  public void initJFrame(String s)
  {
    setTitle(s);
 
    // fermer la fenêtre
 
    addWindowListener(new WindowAdapter()
    {
	public void windowClosing(WindowEvent e)
	{
	  System.exit(0);
	}
    });
 
    // barre de menu de la JFrame		
 
    bar = new Barmenu();
    setJMenuBar(bar);
 
    pack();
    setLocationRelativeTo(null);
    setVisible(true);
  }
 
 
  public void actionPerformed(ActionEvent e)
  {
 
     /* j'ai utilisé try parce que j'avais une erreur lorsque je 
      * cliquais sur le mi2.
      * voilà le message d'erreur: "Erreur: null"
      */
 
    try
    {
 
     if (bar.mi1.isEnabled())
     {
       bar.mi1.Enabled(false);
     }
     else
     {
       bar.mi1.Enabled(true);
     }
    }
    catch(Exception e)
    {
     System.out.println("Erreur: " + e.getMessage());
    }
  }
 
 
 
  public static void main (String arg[])
  {
 
   String s = "Barre de menu";
   Acceuil f1 = new Acceuil();
   f1.initJFrame(s);
 
  }
 
}
En bref, je veux activer ou désactiver mi1 dans le fichier Acceuil.java
Merci d'avance