La variedad de componentes que tiene el framework ZK es basta, aún así se pueden personalizar o crear nuevos componentes a partir de los existentes. En este caso vamos a crear “nuevos botones”, que simplemente a los botones existentes le agregaremos etiquetas por defecto y también iconos.
En un archivo zul escribiremos las definiciones, por ejemplo en el contenido del archivo nuevos_botones.zul tendremos:
<zk> <?component name="botonagregar" extends="button" label="Agregar" image="/img/add.png" autodisable="self" ?> <?component name="botongrabar" macroURI="/definicion_boton_grabar.zul" ?> </zk>
Se añade la instrucción <?component , y como se puede ver, hay dos lineas, dos formas de añadir componentes, la primera se añade directamente todo el codigo en esta página, el otro botón hace referencia a otra página zul donde puede estar mas detallado en caso que el “nuevo componente” tenga varias lineas o mas componentes.
Dentro del otro archivo zul, definicion_boton_grabar.zul
<zk> <button label="Grabar" image="/img/16x16/disk.png" autodisable="self"/> </zk>
Luego en la página zul donde queremos usar estos componentes creados, se tiene que importar la página donde definimos inicialmente los componentes nuevos_botones.zul
<?import src="/nuevos_botones.zul" ?>
Esta instrucción va al inicio de la página. Para usar los componentes creados, solo se escriben encerrados entre <>
<botongrabar /> <botonagregar />
Dichos componentes son botones con etiqueta e imagen, se le pueden agregar atributos propios de button ya que extienden de estos, y si se quiere utilizar del lado de java, se tienen que definir como objetos Button.