Crear nuevo componente a partir de existentes en ZK

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.

Como escribir correctamente los identificadores en java

En diferentes lenguajes de programación los identificadores para nombrar variables, constantes, o algún tipo de objeto con el que se quiere trabajar, lleva su regla el como nombrarlos, tal es el caso de java. Para java existen reglas:

  • No debe de iniciar con un número
  • Pueden iniciar con $ o con _
  • No puede ser nombrado como una palabra reservada

Algunos ejemplos:
$inicio, _total, codigo10, mi_variable57, NombreApellido

Identificadores erroneos:
2variable, for, private

Recorriendo una hash table

Un código que siempre tengo que consultar en el momento de usarlo, no sé porque, es cuando quiero recorrer los elementos de una hash table, un código simple pero siempre lo consulto. Es el siguiente:

Enumeration e = tablaHash.keys();
Object clave;
Object valor;
while( e.hasMoreElements() ) {
    clave = e.nextElement();
    valor = tablaHash.get( clave );
    System.out.println( "Clave : " + clave + " - Valor : " + valor );
}