首頁  >  文章  >  以程式設計方式取得 LookAndFeels 的字串鍵

以程式設計方式取得 LookAndFeels 的字串鍵

PHPz
PHPz轉載
2024-02-09 11:00:08654瀏覽

php小編百草在程式設計中,我們經常需要使用不同的介面外觀(LookAndFeels),但是如何以程式設計方式取得這些外觀的字串鍵呢?在本文中,我們將分享一個簡單而有效的方法,幫助您快速取得LookAndFeels的字串鍵值,以便更方便地在程式中使用。讓我們一起來看看吧!

問題內容

首先,我發現了這個問題,我知道這聽起來很像我的問題,但我確實有一個略有不同的問題。根據我的研究,我發現某些l&f 的string 鍵與其他l&f 不同,我想知道如何使用uimanager.put(string key, object value) 設定l&f 的每個值。

問題是某些 l&f 需要與其他 l&f 不同的鍵,我正在尋找一種方法來等同每個 l&f 的每個屬性,以便我可以以編程方式設置每個值。我發現這個,它說如何使用 uimanager.getcolor("key") 從鍵中獲取值,但不知道如何獲取鍵。

我還發現了這個,它使用uimanager.getlookandfeeldefaults();,但是當我列印其中的物件時,它會產生大量我無法真正用來查找密鑰的官樣文章(也許這就是如何找到鑰匙,如果你能找到的話,謝謝你)。

我將這個問題的程式碼放入我自己的程式碼中,因為它提供了一些鍵。這是我使用的程式碼:

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

我喜歡我的專案的 nimbus 主題,但是,我希望能夠在應用程式內切換 l&f,並且能夠在每個不同 l&f 的相似按鍵之間切換。正如我所說,對於 l&f 中使用的相同值,l&f 之間的某些鍵可能有所不同。

解決方法

此程式碼應列印目前使用的 l&f 的鍵:

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

以上是以程式設計方式取得 LookAndFeels 的字串鍵的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:stackoverflow.com。如有侵權,請聯絡admin@php.cn刪除