synth es un diseño Java con apariencia personalizable , que se configura con un archivo de propiedades XML . [1]
Según Sun, los objetivos para el sintetizador eran:
SynthPainter
.synth está disponible a partir de la versión J2SE 5.0 de Java (ver historial de versiones de Java ). [2]
La versión 10 de Java SE 6 Update y las posteriores contienen Nimbus , una apariencia multiplataforma implementada con Synth. Sin embargo, por compatibilidad con versiones anteriores, Metal sigue siendo la apariencia predeterminada de Swing. [3]
Synth es un diseño personalizable en el que todo el pintado se delega a los componentes, sin tener que escribir ningún código (ver Synth Look and Feel
). [4]
Sin embargo, Synth no ofrece un aspecto predeterminado y los componentes que no estén definidos en el archivo XML de Synth no se pintarán. Sin embargo, es posible asignar un estilo predeterminado a todos los demás widgets y personalizar estilos solo para algunos widgets específicos.
La siguiente declaración XML define un estilo denominado textfield y lo vincula a todos los campos de texto. El estilo predeterminado permite establecer una fuente predeterminada y colores de primer plano y de fondo para todos los demás widgets.
<synth> <style id= "defaultStyle" > <font name= "Verdana" size= "16" > <state> < color value= "BLANCO" > type= "FONDO" > <color value= "NEGRO"> type= "PRIMERO" > </state> </style> <bind style= "defaultStyle"> type= "region"> key= ".*" > <style id= "textfield" > <state> <color value= "yellow"> type= "BACKGROUND" > /> </state> <imagePainter method= "textFieldBorder"> path= "textfieldborder.png"> sourceInsets= "5 6 6 7"> paintCenter= "false" > <insets top= "5" > left= "6" > bottom= "6"> right= "7" > </style> <bind style= "textfield"> type= "region"> key= "TextField" > </sintetizador>
Suponiendo que la declaración XML está definida en un archivo llamado synthExample.xml , el siguiente código carga el archivo de definición XML y establece la apariencia actual en synth (la carga de una apariencia de sintetizador se realiza utilizando el método de carga de la SynthLookAndFeel
clase):
SynthLookAndFeel laf = nuevo SynthLookAndFeel ( ); laf .load ( nuevo Archivo ( " synthExample.xml" ) .toURI () .toURL ()); UIManager .setLookAndFeel ( laf );
Synth es nuevo y permite la descripción del aspecto y el funcionamiento a través de un archivo XML externo.
Synth es nuevo y permite la descripción de la apariencia a través de un archivo XML externo.
Synth permite a los desarrolladores crear e implementar rápidamente apariencias personalizadas para una aplicación al introducir el concepto de una "capa" en la programación de la interfaz de usuario de Java.
Synth Look and Feel
Documentación de la API