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

Rufen Sie programmgesteuert den Zeichenfolgenschlüssel von LookAndFeels ab

PHPz
PHPznach vorne
2024-02-09 11:00:08653Durchsuche

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) );

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));

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!

Stellungnahme:
Dieser Artikel ist reproduziert unter:stackoverflow.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen