UIManager を使用して、事前に作成されたスイング コンポーネント (JFileChooser など) の文字列を変更する人を見てきました。
どのコンポーネントのどの文字列が変更可能で、どのようにそれらにアクセスできるかを教えてくれるリファレンスはどこにありますか?
明確にするために:
UIManager.put(key, newString);
キーが参照する文字列のテキストを に変更することはわかっています"newString"
。
キーのリストはどこにありますか?
Keys for UIManage
r はセンシティブLook and Feel
です。つまり、(たとえば)Keys for Metal Look and Feel
からの値を比較すると値が異なる可能性があることを意味します。System Look and Feel
Key missed
@camickrによるUIManager Defaultを使用
キーが異なる可能性があるため、次のようなコードを使用して自分でリストをダンプすることをお勧めします。
public static void printUIManagerKeys()
{
UIDefaults defaults = UIManager.getDefaults();
Enumeration<Object> keysEnumeration = defaults.keys();
ArrayList<Object> keysList = Collections.list(keysEnumeration);
for (Object key : keysList)
{
System.out.println(key);
}
}
私にとって、リストには1365
の要素が含まれていWindows 10
ます。
これらのキーは Swing PLAF リソース バンドルによって提供され、JDK ソースで見つけることができます。例を参照してください:
英語以外の言語の文字列値は、隣接するバンドル ファイルによって提供されます。
そして、必要な人間の言語用にもう 1 つのファイルを作成し、それをクラスパスの任意の場所に配置するだけで、これらのファミリのいずれかにバンドルをもう 1 つ追加できます。.java 形式と .properties 形式のバンドルは同じように機能しますが、.java 形式の方がわずかに Unicode に適している可能性があります...
com.sun
パッケージにコンテンツを直接追加すると Java ライセンスに違反する可能性があるので注意してください。安全のために、余分なリソースを独自のパッケージに移動し、次のUIManager
ように登録することをお勧めします。
UIManager.getDefaults().addResourceBundle("mypackage.swing.plaf.basic.resources.basic");
すべてのキーを表示するには、コードを実行する必要があるようです。Java に関する質問であることは承知していますが、キーを取得する最も簡単な方法は、groovy (または gradle) スクリプトを起動することです。
javax.swing.UIManager.getDefaults().keys().toList().toSorted().each {println it}
groovy keys.groovy
それをファイルに貼り付けて、またはを呼び出しますgradle -b keys.groovy
。入手しやすいツールを選択してください。
ファイルを作成しなくても、groovy で実行できます。単純に実行します:
groovy -e "javax.swing.UIManager.getDefaults().keys().toList().toSorted().each {println it}"