Change couleur de jmenuitem

ulysse00 Messages postés 291 Date d'inscription lundi 6 novembre 2006 Statut Membre Dernière intervention 12 mai 2013 - 10 févr. 2008 à 13:22
ulysse00 Messages postés 291 Date d'inscription lundi 6 novembre 2006 Statut Membre Dernière intervention 12 mai 2013 - 12 févr. 2008 à 15:37
salut
 j'ai un problème , je n'arrive pas  à compléter le code , je cherche à faire si je click sur le menu la couleur change en bleu et meme si je parcoure la liste jmenuitem si je passe la souris au dessus la couleur devienne bleu

package menu;
 
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
 
publicclass MyMenu extends JFrame {

private JMenuBar bar;
private JMenu menuCoucou;
private JMenu menuBonjour;
 
public MyMenu(){
super();
setDefaultCloseOperation(EXIT_ON_CLOSE);
setSize(500, 500);
setJMenuBar(getBar());
setVisible(true);
}
 
public JMenuBar getBar(){
if(bar == null){
bar = new JMenuBar();
bar.add(getMenuBonjour());
bar.add(getMenuCoucou());
}
return bar;
}
 
public JMenu getMenuBonjour(){
if(menuBonjour == null){
menuBonjour = new JMenu("Bonjour");
menuBonjour.addMouseListener(new MyMouseListener(menuBonjour));
}
return menuBonjour;
}
 
public JMenu getMenuCoucou(){
if(menuCoucou == null){
menuCoucou = new JMenu("Coucou");
menuCoucou.addMouseListener(new MyMouseListener(menuCoucou));
}
return menuCoucou;
}
 
publicstaticvoid main(String[] args){
new MyMenu();
}
 
}

package menu;
 
import java.awt.Color;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
 
import javax.swing.JMenu;
 
publicclass MyMouseListener extends MouseAdapter {
 
private JMenu menu;
 
public MyMouseListener(JMenu menu){
super();
this.menu = menu;
}
 
publicvoid mouseEntered(MouseEvent e){
menu.setOpaque(true);
menu.setBackground(Color.BLUE);
}
 
publicvoid mouseExited(MouseEvent e){
menu.setOpaque(false);
menu.setBackground(null);
}

}

j'espere que quelqu'un pouura m'aider

2 réponses

KenZara Messages postés 112 Date d'inscription vendredi 24 décembre 2004 Statut Membre Dernière intervention 20 décembre 2011
11 févr. 2008 à 14:55
    Bonjour,

Je te suggère de voir le MouseMoved.

http://www.developpez.org/club/bkostrzewa/td-evenements/tdsouris2.html

Kenza
0
ulysse00 Messages postés 291 Date d'inscription lundi 6 novembre 2006 Statut Membre Dernière intervention 12 mai 2013 1
12 févr. 2008 à 15:37
je n'ai pas encore trouvé la solution si je click sur menu change couleur en bleu et si je passe la souris sur jmenuitem la couleur devienne bleu

jMenu1.setText("ra");
jMenu2.setText("mus");
jMenuItem2.setText("merci");
ActionEvent.CTRL_MASK));
jMenuItem1.setText("bonsoir");
jMenuItem3.setText("salut");
jMenu1.addMouseListener(new MyMouseListener(jMenu1));
jMenu2.addMouseListener(new MyMouseListener(jMenu2));
jMenuBar1.add(jMenu1);
jMenuBar1.add(jMenu2);
jMenu1.add(jMenuItem1);
jMenu1.add(jMenuItem2);
jMenu1.add(jMenuItem3);
 
 
publicclass MyMouseListener extends MouseAdapter {
 
        private JMenu menu;
 
        public MyMouseListener(JMenu menu){
                super();
                this.menu = menu;
        }
 
        publicvoid mousePressed(MouseEvent e){
                              menu.setOpaque(true);
menu.setBackground(Color.BLUE);
                      }
 
 
        publicvoid mouseEntered(MouseEvent e){
                menu.setOpaque(true);
                menu.setBackground(Color.BLUE);
        }
 
        publicvoid mouseExited(MouseEvent e){
                menu.setOpaque(false);
                menu.setBackground(null);
        }
 
 
 
}
0
Rejoignez-nous