Heim > Java > Rufen Sie programmgesteuert den Zeichenfolgenschlüssel von LookAndFeels ab

Rufen Sie programmgesteuert den Zeichenfolgenschlüssel von LookAndFeels ab

PHPz
Freigeben: 2024-02-09 11:00:08
nach vorne
705 Leute haben es durchsucht

php-Editor Baicao Beim Programmieren müssen wir oft verschiedene Schnittstellenerscheinungen (LookAndFeels) verwenden, aber wie erhält man die Zeichenfolgenschlüssel dieser Erscheinungen programmgesteuert? In diesem Artikel stellen wir eine einfache und effektive Methode vor, mit der Sie schnell den Zeichenfolgenschlüsselwert von LookAndFeels ermitteln können, damit er bequemer im Programm verwendet werden kann. Lass uns einen Blick darauf werfen!

Frageninhalt

Zuerst habe ich diese Frage gefunden. Ich weiß, sie klingt sehr nach meinem Problem, aber ich habe ein etwas anderes Problem. Basierend auf meinen Recherchen habe ich herausgefunden, dass bestimmte L&Fs string 键与其他 l&f 不同,我想知道如何使用 uimanager.put(string key, object value) jeden Wert von L&F bestimmen.

Das Problem ist, dass einige L&Fs andere Schlüssel erfordern als andere L&Fs und ich nach einer Möglichkeit suche, jede Eigenschaft jedes L&Fs gleichzusetzen, damit ich jeden Wert programmgesteuert festlegen kann. Ich habe das gefunden. Es sagt, wie man mit uimanager.getcolor("key") den Wert aus dem Schlüssel erhält, bin mir aber nicht sicher, wie man den Schlüssel erhält.

Ich habe auch dieses gefunden, das uimanager.getlookandfeeldefaults(); verwendet, aber wenn ich die darin enthaltenen Objekte ausdrucke, entsteht eine Menge Kauderwelsch, den ich nicht wirklich verwenden kann, um den Schlüssel zu finden (vielleicht findet man so den Schlüssel, wenn man ihn finden kann). es, danke).

Ich habe den Code aus dieser Frage in meinen eigenen Code eingefügt, da er einige Schlüssel bereitstellt. Dies ist der Code, den ich verwende:

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) );
Nach dem Login kopieren

Mir gefällt das Nimbus-Theme für mein Projekt, ich würde jedoch gerne in der App zwischen L&F wechseln und zwischen ähnlichen Tastenanschlägen für jedes unterschiedliche L&F wechseln können. Wie gesagt, einige Schlüssel zwischen l&f können für denselben Wert, der in l&f verwendet wird, unterschiedlich sein.

Workaround

Dieser Code sollte den aktuell verwendeten L&F-Schlüssel drucken:

UIDefaults defaults = UIManager.getDefaults();
Enumeration<Object> keys = defaults.keys();
Collections.list(keys).stream().forEach(s -> System.out.println(s));
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonRufen Sie programmgesteuert den Zeichenfolgenschlüssel von LookAndFeels ab. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:stackoverflow.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage