Java UIManager key list

无人久伴 提交于 2019-12-05 08:22:50

These keys are provided by Swing PLAF resource bundles, and you can find them in the JDK sources. See e.g.:

String values for languages other than English are provided by adjacent bundle files.

And you can add one more bundle to any of these families just by creating one more file for desired human language and placing it anywhere on your classpath. Bundles in .java and .properties format work equally well, though .java format may be slightly more Unicode-friendly...

It may be good to keep in mind though that direct adding of content to com.sun package may violate the Java license. So to be on the safe side, it may be wise to move your extra resources to a package of your own and register it with UIManager like this:

UIManager.getDefaults().addResourceBundle("mypackage.swing.plaf.basic.resources.basic");
mKorbel
  • Keys for UIManager are Look and Feels sensitive, means (for example) value Keys for Metal Look and Feel could be diferrent when you comparing value from System Look and Feel, notice or Key missed too

  • use UIManager Defaults by @camickr

Seems like one has to run some code to see all the keys. I know the question is for java, but really the quickest way to obtain the keys is to launch groovy (or gradle) script:

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

Paste it to a file and call groovy keys.groovy or gradle -b keys.groovy, whatever tool is easier for you to get.

Without creating a file it's also doable with groovy. Simply execute:

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

You're probably best of by dumping the list yourself using code like the following since keys might differ:

public static void printUIManagerKeys()
{
    UIDefaults defaults = UIManager.getDefaults();
    Enumeration<Object> keysEnumeration = defaults.keys();
    ArrayList<Object> keysList = list(keysEnumeration);
    for (Object key : keysList)
    {
        System.out.println(key);
    }
}

For me the list contains 1365 elements on Windows 10.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!