[JMenuItem] activer/desactiver
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:
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:
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