Maison > Java > Obtenez par programme la clé de chaîne de LookAndFeels

Obtenez par programme la clé de chaîne de LookAndFeels

PHPz
Libérer: 2024-02-09 11:00:08
avant
706 Les gens l'ont consulté

éditeur php Baicao En programmation, nous avons souvent besoin d'utiliser différentes apparences d'interface (LookAndFeels), mais comment obtenir les clés de chaîne de ces apparences par programme ? Dans cet article, nous partagerons une méthode simple et efficace pour vous aider à obtenir rapidement la valeur de la clé de chaîne de LookAndFeels afin qu'elle puisse être utilisée plus facilement dans le programme. Nous allons jeter un coup d'oeil!

Contenu de la question

Tout d'abord, j'ai trouvé cette question, je sais que cela ressemble beaucoup à mon problème, mais j'ai un problème légèrement différent. Sur la base de mes recherches, j'ai découvert que certains l&f string 键与其他 l&f 不同,我想知道如何使用 uimanager.put(string key, object value) définissent chaque valeur de l&f .

Le problème est que certains l&fs nécessitent des clés différentes de celles d'autres l&fs et je cherche un moyen d'assimiler chaque propriété de chaque l&f afin de pouvoir définir chaque valeur par programme. J'ai trouvé ceci, il dit comment obtenir la valeur de la clé en utilisant uimanager.getcolor("key") mais je ne sais pas comment obtenir la clé.

J'ai aussi trouvé ceci, qui utilise uimanager.getlookandfeeldefaults();, mais lorsque j'imprime les objets qu'il contient, cela produit une tonne de charabia que je ne peux pas vraiment utiliser pour trouver la clé (c'est peut-être comme ça que trouver la clé, si vous pouvez trouver ça, merci).

J'ai mis le code de cette question dans mon propre code car il fournit quelques clés. Voici le code que j'utilise :

UIManager.put( "control", new Color( 128, 128, 128) );
  UIManager.put( "info", new Color(128,128,128) );
  UIManager.put( "nimbusBase", new Color( 18, 30, 49) );
  UIManager.put( "nimbusAlertYellow", new Color( 248, 187, 0) );
  UIManager.put( "nimbusDisabledText", new Color( 128, 128, 128) );
  UIManager.put( "nimbusFocus", new Color(115,164,209) );
  UIManager.put( "nimbusGreen", new Color(176,179,50) );
  UIManager.put( "nimbusInfoBlue", new Color( 66, 139, 221) );
  UIManager.put( "nimbusLightBackground", new Color( 18, 30, 49) );
  UIManager.put( "nimbusOrange", new Color(191,98,4) );
  UIManager.put( "nimbusRed", new Color(169,46,34) );
  UIManager.put( "nimbusSelectedText", new Color( 255, 255, 255) );
  UIManager.put( "nimbusSelectionBackground", new Color( 104, 93, 156) );
  UIManager.put( "text", new Color( 230, 230, 230) );
Copier après la connexion

J'aime le thème nimbus pour mon projet, cependant, j'aimerais pouvoir changer de l&f dans l'application et pouvoir basculer entre des frappes de touches similaires pour chaque l&f différent. Comme je l'ai dit, certaines clés entre l&f peuvent différer pour la même valeur utilisée dans l&f .

Solution de contournement

Ce code doit imprimer la clé de l&f actuellement utilisée :

UIDefaults defaults = UIManager.getDefaults();
Enumeration<Object> keys = defaults.keys();
Collections.list(keys).stream().forEach(s -> System.out.println(s));
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:stackoverflow.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal