Couleur de selection [Résolu]

Signaler
Messages postés
39
Date d'inscription
samedi 26 mai 2007
Statut
Membre
Dernière intervention
31 août 2007
-
Messages postés
39
Date d'inscription
samedi 26 mai 2007
Statut
Membre
Dernière intervention
31 août 2007
-
salut ,
comment changer la couleur de selection dans un jMenuBar ?
-c'est a dire le couleur efficher quand je selectioner un jMenuItem
mercid'avance

6 réponses

Messages postés
5348
Date d'inscription
dimanche 4 mai 2003
Statut
Modérateur
Dernière intervention
30 mars 2020
95
Salut,

voici un exemple de la soluce ci-dessus (soit de mon ancien thread) :

import java.awt.Color;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.UIManager;

public class Test extends JFrame {

    private static final long    serialVersionUID    = 1802199483736051124L;

    public Test() {
        setDefaultCloseOperation(EXIT_ON_CLOSE);
        setSize(300, 300);
        setLocationRelativeTo(null);
       
        Color background = Color.BLACK;
       Color foreground = Color.GRAY;
        UIManager.put("MenuItem.selectionBackground", background); //change la couleur de fond
       UIManager.put("MenuItem.selectionForeground", foreground); //change la couleur de texte
       
        JMenuBar bar = new JMenuBar();
       
        JMenuItem itemQuit = new JMenuItem();
       
        itemQuit.setText("Exit");
        itemQuit.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                System.exit(0);
            }
        });
        JMenu menu = new JMenu();
        menu.setText("Menu");
        menu.add(itemQuit);
        bar.add(menu);
        bar.add(menu);
        setJMenuBar(bar);
    }
   
    public static void main(String[] args) {
        new Test().setVisible(true);
    }
}

------------------------------------
"On n'est pas au resto : ici on ne fait pas dans les plats tout cuits ..."

OoWORAoO
Messages postés
5348
Date d'inscription
dimanche 4 mai 2003
Statut
Modérateur
Dernière intervention
30 mars 2020
95
Salut,

tu peux passer par les propriétés de UIManager exemple :

UIManager.put("MenuItem.selectionBackground", background); //change la couleur de fond
UIManager.put("MenuItem.selectionForeground", foreground); //change la couleur de texte

ici foreground et background sont de type java.awt.Color

si tu veux le faire dynamiquement tu peux utiliser la méthode updateUI() de ton composant

------------------------------------
"On n'est pas au resto : ici on ne fait pas dans les plats tout cuits ..."

OoWORAoO
Messages postés
39
Date d'inscription
samedi 26 mai 2007
Statut
Membre
Dernière intervention
31 août 2007

salut,
- aucun changement le probleme reste toujour   
en toit les cas merci de votr aide
Messages postés
5348
Date d'inscription
dimanche 4 mai 2003
Statut
Modérateur
Dernière intervention
30 mars 2020
95
Salut,

peux-tu stp montrer ce que tu fais histoire de mieux nous comprendre et également de voir si tu as juste

------------------------------------
"On n'est pas au resto : ici on ne fait pas dans les plats tout cuits ..."

OoWORAoO
Messages postés
39
Date d'inscription
samedi 26 mai 2007
Statut
Membre
Dernière intervention
31 août 2007

mon application contient une clesse deriver de jFrame
cette fenetre   contient  un jMenubBar,
- je veux changer la couleur de selection
c'est t'a dir quand je selection un MenuItem la couleur de ce dernier sera en  rouge par exemple pas en bleu (la couleur par defaut de java  )
j'espere que j'ai bien exeplique que je veux faire
et merci
Messages postés
39
Date d'inscription
samedi 26 mai 2007
Statut
Membre
Dernière intervention
31 août 2007

salut ,
-ca marche tres tres bien merci merci et merci en coure une fois
-mon probleme a ete dans l'order des instruction (modifier le couleur avant la declaration des jMenuItem )
 
avec tous mes salutation