Changement de couleur et de police d'un élément en surbrillance dans un JMenu [Résolu]

piero_pix
Messages postés
3
Date d'inscription
lundi 19 décembre 2005
Dernière intervention
9 mars 2006
- 8 mars 2006 à 18:46 - Dernière réponse : piero_pix
Messages postés
3
Date d'inscription
lundi 19 décembre 2005
Dernière intervention
9 mars 2006
- 9 mars 2006 à 11:03
Bonjour à tous,

j'ai écrit une applet contenant un JPopupMenu qui reçoit un flux à parser contenant tous les éléments du menu. Ce menu contient des sous-menus (JMenu) et des items (JMenuItem).
Pour l'affichage du menu, la récupération de la sélection lors du clic : tout est ok.

J'ai également ajouté des fonctionnalités pour modifier la police, la couleur du texte, la couleur du fond des différents éléments du JPopupMenu, là encore tout fonctionne.

Le problème survient quand je veux modifier la couleur du fond et la couleur du texte d'un élément en surbrillance (un élément qui a le focus). Je pensais surcharger les paramètres par défaut en remplaçant le FocusListener du menu par le mien mais le FocusListener par défaut ne fais que déclencher l'actualisation de l'affichage.
J'aimerais pouvoir garder les comportements par défaut du menu mais surcharger uniquement les propriétés appliquées pour la surbrillance d'un élément (police, couleur du texte et du fond).

J'ai commencé à regarder la javadoc des différents ComponentUI et MenuSelectionManager mais je n'ai pas encore trouvé.

Merci pour votre aide.
Afficher la suite 

Votre réponse

4 réponses

Meilleure réponse
Twinuts
Messages postés
5292
Date d'inscription
dimanche 4 mai 2003
Dernière intervention
12 novembre 2018
- 8 mars 2006 à 22:08
3
Merci
Salut,



pour modifier les couleurs des composants il faut passer par UIManager genre pour ton cas

UIManager.put("MenuItem.selectionBackground", Color.BLACK);

UIManager.put("MenuItem.selectionForeground", Color.WHITE);

WORA

Merci Twinuts 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 94 internautes ce mois-ci

Commenter la réponse de Twinuts
piero_pix
Messages postés
3
Date d'inscription
lundi 19 décembre 2005
Dernière intervention
9 mars 2006
- 9 mars 2006 à 10:01
0
Merci
Merci beaucoup, c'est exactement ce que je voulais.
J'ai affecté les paramètres voulus au début de la construction du menu et tout est nickel.

Je me demandais juste où trouver la liste des caractérisitiques disponibles pour le UIManager, du style "MenuItem.selectionBackground".

Encore merci WORA.
Commenter la réponse de piero_pix
Twinuts
Messages postés
5292
Date d'inscription
dimanche 4 mai 2003
Dernière intervention
12 novembre 2018
- 9 mars 2006 à 10:35
0
Merci
Salut,



tu auras toute la liste avec ce petit bout de code



import java.util.Enumeration;



import javax.swing.UIManager;





public class UIPropertiesList {



public static void main(String[] args) {

Enumeration newKeys = UIManager.getDefaults().keys();

while (newKeys.hasMoreElements()) {

System.out.println(newKeys.nextElement());

}



/*Enumeration newValues = UIManager.getDefaults().elements();

while (newValues.hasMoreElements()) {

System.out.println(newValues.nextElement());

}*/

}

}



sinon sur le lien ci-dessous il propose un code affichant un JTable avec la list et les val associées

http://www.java2s.com/ExampleCode/Swing-JFC/ListProperties.htm


WORA
Commenter la réponse de Twinuts
piero_pix
Messages postés
3
Date d'inscription
lundi 19 décembre 2005
Dernière intervention
9 mars 2006
- 9 mars 2006 à 11:03
0
Merci
Merci WORA pour toutes ces infos.
Commenter la réponse de piero_pix

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.