2012-09-12 59 views
6

我見過有人使用UIManager來更改一些預先創建的swing組件的字符串(例如JFileChooser)。Java UIManager密鑰列表

我在哪裏可以找到某種參考,它會告訴我哪些組件可更改哪些字符串,以及如何訪問它們?

澄清:

我知道UIManager.put(key, newString);將改變字符串的文字,要重點參考,以"newString"

我在哪裏可以找到密鑰列表?

回答

1

這些鍵由Swing PLAF資源包提供,您可以在JDK源中找到它們。參見例如:

對於非英語語言的字符串值由相鄰的包文件提供。

只需爲所需的人類語言創建一個文件並將其放置在類路徑的任何位置,您就可以爲這些系列中的任何一個添加一個包。 .java和.properties格式的工作包同樣適用,但.java格式可能稍微更適合Unicode ...

儘管直接將內容添加到com.sun包中可能違反Java許可證。所以爲了安全起見,它可能是明智的,移動你的額外資源,以一包自己的,並登記其與UIManager這樣的:

UIManager.getDefaults().addResourceBundle("mypackage.swing.plaf.basic.resources.basic"); 
4
  • Keys for UIManage r爲Look and Feel小號敏感的裝置(例如)值Keys for Metal Look and Feel可以當通過@camickr

System Look and Feel,通知或 Key missed

  • 使用UIManager Default小號比較值來diferrent

  • 0

    好像一個有運行一些代碼看所有的鑰匙。我知道這個問題是java的,但真正獲得密鑰的最快的辦法就是發動常規(或gradle這個)腳本:

    javax.swing.UIManager.getDefaults().keys().toList().toSorted().each {println it} 
    

    將其粘貼到一個文件並調用groovy keys.groovygradle -b keys.groovy,什麼工具是更容易你得到。

    沒有創建文件它也適用於groovy。只需執行:

    groovy -e "javax.swing.UIManager.getDefaults().keys().toList().toSorted().each {println it}"