2012-09-12 14 views
6

He visto personas que usan UIManager para cambiar cadenas de algunos componentes de swing creados previamente (por ejemplo, JFileChooser).Lista de teclas de UIManager de Java

¿Dónde puedo encontrar algún tipo de referencia que me dirá qué cadenas de componentes son modificables y cómo puedo acceder a ellas?

Para aclarar:

sé que va a cambiar UIManager.put(key, newString); texto de cadena que las referencias clave para, a "newString".

¿Dónde puedo encontrar la lista de claves?

Respuesta

1

Estas teclas las proporcionan los paquetes de recursos de Swing PLAF, y las puede encontrar en las fuentes de JDK. Véase por ejemplo .:

valores de cadena para otros idiomas aparte del Inglés son proporcionados por archivos de paquetes adyacentes.

Y puede agregar un paquete más a cualquiera de estas familias simplemente creando un archivo más para el lenguaje humano deseado y colocándolo en cualquier lugar de su classpath. Los paquetes en formato .java y .properties funcionan igual de bien, aunque el formato .java puede ser un poco más compatible con Unicode ...

Puede ser bueno tener en cuenta que la adición directa de contenido al paquete com.sun puede violar el Licencia de Java. Así que para estar en el lado seguro, puede ser aconsejable mover los recursos adicionales a un paquete de su propia y registrarlo con UIManager así:

UIManager.getDefaults().addResourceBundle("mypackage.swing.plaf.basic.resources.basic"); 
4
  • Keys for UIManage r son Look and Feel s sensibles, medios (por ejemplo) el valor Keys for Metal Look and Feel podrían diferrent cuando comparar el valor de System Look and Feel, aviso o Key missed también

  • uso UIManager Default s por @camickr

0

Parece que uno tiene que ejecutar algún código para ver todas las llaves Sé que la pregunta se hace para java, pero en realidad la forma más rápida de obtener las claves es poner en marcha maravilloso (o Gradle) script:

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

pegarlo en un archivo y lo llaman groovy keys.groovy o gradle -b keys.groovy, cualquier herramienta que es más fácil para usted para obtener.

Sin crear un archivo también es factible con groovy. Simplemente ejecute:

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