Saltar la navegación

10.- Empaquetado de componentes.

Caso práctico

-Vale, ya tenemos el componente creado y probado, estamos en condiciones de poder usarlo, pero como lo hago, ¿tengo que ir llevando mi clase de un proyecto a otro? -Dice María.

-No es así -contesta Ada-, lo que debes hacer es reunir todos los archivos en uno solo que podrás distribuir a cualquier aplicación que lo necesite.

Imagen que muestra a una chica sentada, trabajando con un ordenador.

Imagen de un paquete con papel de regalo de color rojo y un lazo de color rosa.

Una vez creado el componente, es necesario empaquetarlo para poder distribuirlo y utilizarlo después. Para ello necesitarás el paquete jar que contiene todas las clases que forman el componente:

  • El propio componente.
  • Objetos BeanInfo.
  • Objetos Customizer.
  • Clases de utilidad o recursos que requiera el componente, etc.

Puedes incluir varios componentes en un mismo jar.

El paquete jar debe incluir un fichero de manifiesto (con extensión .mf) que describa su contenido, por ejemplo:

Manifest-Version: 1.0
Name: demo/Componente.class
Java-Bean: True
Name: demo/ComponenteBeanInfo.class
Java-Bean: False
Name: demo/ClaseAuxiliar.class
Java-Bean: False
Name: demo/Imagen.png
Java-Bean: False
Observa, en el fichero de manifiesto como la clase del componente va acompañada de Java-Bean: True, indicando que es un JavaBean.

La forma más sencilla de generar el archivo jar es utilizar la herramienta Limpiar y construir del proyecto en NetBeans, que deja el fichero .jar perfectamente en el directorio /dist del proyecto, aunque siempre puedes recurrir a la orden jar y crearlo tu directamente:

jar cfm Componente.jar manifest.mf Componente.class ComponenteBEanInfo.class ClaseAuxiliar.class Imagen.png proyecto.jar

Autoevaluación

Pregunta

La distribución de los componentes se realiza a través de...

Respuestas

La distribución de la clase que implementa la interfaz Serializable.

La copia de las clases que forman el componente en el proyecto que las usa.

El empaquetado de las clases que forman el componente (incluidas las clases que programan los objetos eventos y las clases con la información del componente y distribuyendo este paquete.

Retroalimentación