Bonjour,

Dans mon code ci-dessous je souhaite que lorsque je selectionne couleur>jaune, l'iten rouge devienne inactif (setEnabled(false)) autant dans le menu "menu" que dans le menu surgissant.

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
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
 
import java.awt.Color;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import javax.swing.AbstractAction;
import javax.swing.Action;
import javax.swing.JCheckBoxMenuItem;
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JOptionPane;
import javax.swing.JPopupMenu;
 
 
class Feny extends JFrame implements ActionListener
{
    public Feny()
    {
        setTitle("Titre de ma fenetre");
        setSize(300,100);
 
        menu = new JMenuBar();
        setJMenuBar(menu);
 
 
        menuAction = new JMenu("Action");
        ajouterArticle = new JCheckBoxMenuItem("AJouter un article");
        supprimerArticle = new JCheckBoxMenuItem("Supprimer un article");
        menu.add(menuAction);
        menuAction.add(ajouterArticle);
        menuAction.add(supprimerArticle);
        ajouterArticle.addActionListener(this);
        supprimerArticle.addActionListener(this);
 
        menuCouleur = new JMenu("Couleur");
        actionRouge = new MonAction("En rouge", Color.red);
        actionJaune = new MonAction("En jaune", Color.yellow);
 
 
        menuCouleur.add(actionRouge);
        menuCouleur.add(actionJaune);
        menu.add(menuCouleur);
 
 
        actionRouge.putValue(Action.SHORT_DESCRIPTION, "Afficher un fond de couleur rouge");
        menuSurg = new JPopupMenu();
        menuSurg.add(actionRouge);
        menuSurg.add(actionJaune);
 
        addMouseListener(new MouseAdapter()
        {
            public void mouseReleased(MouseEvent e)
            {
                if(e.isPopupTrigger())
                {
                menuSurg.show(e.getComponent(), e.getX(), e.getY());
                }
            }
        });
 
    }
 
 
    @Override
    public void actionPerformed(ActionEvent e) {
 
 
           if(ajouterArticle.isSelected())
           {
           menuCouleur.setEnabled(false);        
           }
           else
           {
           menuCouleur.setEnabled(true);    
           }
 
           if(ajouterArticle.isSelected() && supprimerArticle.isSelected())
           {
               JOptionPane.showMessageDialog(this, "Vous ne pouvez pas ajouter et supprimer un article en même temps", "Information", JOptionPane.ERROR_MESSAGE);
               ajouterArticle.setSelected(false);
               supprimerArticle.setSelected(false);     
           }  
    }
    private MonAction actionRouge, actionJaune;
    private JMenuBar menu;
    private JMenu menuCouleur, menuAction;
    private Color couleur;
    private JPopupMenu menuSurg;
    private JCheckBoxMenuItem ajouterArticle, supprimerArticle;
}
 
 
class MonAction extends AbstractAction
{
    public MonAction(String nom, Color couleur)
    {
        super(nom);
        this.couleur = couleur;
    }
 
    @Override
    public void actionPerformed(ActionEvent e) {
        if(couleur == Color.red)
        {
        System.out.println("Action rouge");
        }
        else if(couleur == Color.yellow)
        {
        System.out.println("Action jaune");
        }
 
    } private Color couleur;
}
 
public class Actions1 {
    public static void main(String arg[])
    {
        Feny fen = new Feny();
        fen.setVisible(true);
        fen.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    }
 
}
Comment faire ?

Merci d'avance pour votre aide.