2012-09-12 12 views
6

私はUIManagerを使用して、いくつかの事前に作成されたスイングコンポーネント(JFileChooserなど)の文字列を変更しているのを見たことがあります。Java UIManagerキーリスト

どのコンポーネントのどの文字列が変更可能であるかを教えてくれる種類の参照があります。どのようにアクセスできますか?

を私はUIManager.put(key, newString);がキー参照"newString"に、にした文字列のテキストを変更することを知っている:明確にするために

どこのキーを見つけることができますか?

答えて

1

これらのキーは、Swing PLAFリソースバンドルによって提供され、JDKソースで見つけることができます。例えば参照してください:

  • http://grepcode.com/file/repository.grepcode.com/java/root/jdk/openjdk/8u40-b25/com/sun/java/swing/plaf/gtk/resources/gtk.java
  • 文字列値は、隣接するバンドルファイルで提供されています。

    また、希望の人間言語のファイルをもう1つ作成し、クラスパスのどこにでも配置することで、これらのファミリにバンドルを追加できます。 .java形式と.properties形式のバンドルも同様に機能しますが、.java形式はUnicodeにやや互換性があります。

    com.sunパッケージにコンテンツを直接追加すると、 Javaライセンス。だから、安全のために、あなた自身のパッケージにあなたの余分なリソースを移動し、このようなUIManagerに登録するのが賢明かもしれ:1がに見るためにいくつかのコードを実行しているよう

    UIManager.getDefaults().addResourceBundle("mypackage.swing.plaf.basic.resources.basic"); 
    
  • 4
    • Keys for UIManage R(例えば)Look and Feel S敏感手段あなたは@camickr

    によって System Look and Feel、通知又は Key missedすぎる

  • 使用UIManager Default sから値を比較するときKeys for Metal Look and Feelがdiferrentことができる値であります

  • 0

    らしいですすべてのキー。

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

    のために簡単ですどんなツール、それをファイルに貼り付け、groovy keys.groovyまたはgradle -b keys.groovyを呼び出します。このスクリプトは、私は質問は、Javaのためである知っているが、実際にキーを取得する最も簡単な方法は、グルーヴィー(またはのGradle)を起動することですあなたは得る。

    ファイルを作成しないで、もgroovyで実行できます。単に実行:

    groovy -e "javax.swing.UIManager.getDefaults().keys().toList().toSorted().each {println it}" 
    
    関連する問題