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:
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 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); } }
En bref, je veux activer ou désactiver mi1 dans le fichier Acceuil.java
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); } }
Merci d'avance
Partager