Está en la página 1de 19

COMPONENTES EN JAVA

Investigacin sobre componentes en java y como utilizarlos

Julio Cesar Jurez Mtz.

[COMPONENTES EN JAVA] ITSSMT

Introduccin
Comenzaremos con un breve ejemplo de la aplicacin de un componente en java, el cual es aplicado de manera sencilla con net beans , durante todo el documento explicare cada paso que hay que dar antes de utilizar este tipo de componentes.

Tpicos Avanzados De Programacin |Julio Cesar JM

[COMPONENTES EN JAVA] ITSSMT


Tipos de Componentes Una interface grfica est construida en base a elementos grficos bsicos, los Componentes. Tpicos ejemplos de estos Componentes son los botones, barras de desplazamiento, etiquetas, listas, cajas de seleccin o campos de texto. Los Componentes permiten al usuario interactuar con la aplicacin y proporcionar informacin desde el programa al usuario sobre el estado del programa. En el AWT, todos los Componentes de la interface de usuario son instancias de la clase Component o uno de sus subtipos. Los Componentes no se encuentran aislados, sino agrupados dentro de Contenedores. Los Contenedores contienen y organizan la situacin de los Componentes; adems, los Contenedores son en s mismos Componentes y como tales pueden ser situados dentro de otros Contenedores. Tambin contienen el cdigo necesario para el control de eventos, cambiar la forma del cursor o modificar el icono de la aplicacin. En el AWT, todos los Contenedores son instancias de la clase Container o uno de sus subtipos. En la imagen siguiente presentamos una interface de usuario muy simple, con la apariencia que presenta cuando se visualiza bajo Windows '95.

Los Componentes deben circunscribirse dentro del Contenedor que los contiene. Esto hace que el anidamiento de Componentes (incluyendo Contenedores) en Contenedores crean rboles de elementos, comenzando con un Contenedor en la raz del rbol y expandindolo en sus ramas. A continuacin presento el rbol que representa la interface que corresponde con la aplicacin grfica generada anteriormente.

Tpicos Avanzados De Programacin |Julio Cesar JM

[COMPONENTES EN JAVA] ITSSMT


En el rbol siguiente muestro la relacin que existe entre todas las clases que proporciona AWT para la creacin de interfaces de usuario, presentando la jerarqua de Clases e Interfaces:
Clases: BorderLayout CardLayout CheckboxGroup Color Component o Button o Canvas o Checkbox o Choice o Container Panel Window Dialog Frame o Label o List o Scrollbar o TextComponent TextArea TextField o Dimension o Event o FileDialog o FlowLayout o Font o FontMetrics o Graphics o GridLayout o GridBagConstraints o GridBagLayout o Image o MediaTracker o MenuComponent MenuBar MenuItem CheckboxMenuItem Menu o Point o Polygon o Rectangle o Toolkit

Interfaces: LayoutManager MenuContainer

Tpicos Avanzados De Programacin |Julio Cesar JM

[COMPONENTES EN JAVA] ITSSMT


Component Component es una clase abstracta que representa todo lo que tiene una posicin, un tamao, puede ser pintado en pantalla y puede recibir eventos. Los Objetos derivados de la clase Component que se incluyen en el Abstract Window Toolkit son los que aparecen a continuacin:

Button Canvas Checkbox Choice Container o Panel o Window Dialog Frame Label List Scrollbar TextComponent o TextArea o TextField

Tpicos Avanzados De Programacin |Julio Cesar JM

[COMPONENTES EN JAVA] ITSSMT


Librera En la mayora de los sistemas operativos actuales, se ofrece una cantidad de cdigo para simplificar la tarea de programacin. Este cdigo toma la forma, normalmente, de un conjunto de bibliotecas dinmicas que las aplicaciones pueden llamar cuando lo necesiten. Pero la Plataforma Java est pensada para ser independiente del sistema operativo subyacente, por lo que las aplicaciones no pueden apoyarse en funciones dependientes de cada sistema en concreto. Lo que hace la Plataforma Java, es ofrecer un conjunto de bibliotecas estndar, que contiene mucha de las funciones reutilizables disponibles en los sistemas operativos actuales. Las bibliotecas de Java tienen tres propsitos dentro de la Plataforma Java. Al igual que otras bibliotecas estndar, ofrecen al programador un conjunto bien definido de funciones para realizar tareas comunes, como manejar listas de elementos u operar de forma sofisticada sobre cadenas de caracteres. Adems, las bibliotecas proporcionan una interfaz abstracta para tareas que son altamente dependientes del hardware de la plataforma destino y de su sistema operativo. Tareas tales como manejo de las funciones de red o acceso a ficheros, suelen depender fuertemente de la funcionalidad nativa de la plataforma destino. En el caso concreto anterior, las bibliotecas java.net y java.io implementan el cdigo nativo internamente, y ofrecen una interfaz estndar para que aplicaciones Java puedan ejecutar tales funciones. Finalmente, no todas las plataformas soportan todas las funciones que una aplicacin Java espera. En estos casos, las bibliotecas bien pueden emular esas funciones usando lo que est disponible, o bien ofrecer un mecanismo para comprobar si una funcionalidad concreta est presente. La siguiente lista contiene las libreras ms importantes en java estn explicadas para su mayor entendimiento. Java 2 Platform Paquetes
java.applet Proporciona las clases necesarias para crear un applet y las clases de un applet utiliza para comunicarse con su contexto applet. Contiene todas las clases para crear interfaces de usuario y para el pintado de grficos e imgenes. Proporciona clases para espacios de color. Proporciona las interfaces y clases para la transferencia de datos entre y dentro de las aplicaciones. Arrastrar y soltar es un gesto manipulacin directa se encuentra en muchos sistemas de interfaz grfica de usuario que proporciona un mecanismo para la transferencia de

java.awt java.awt.Color java.awt.datatransfer

java.awt.dnd

Tpicos Avanzados De Programacin |Julio Cesar JM

[COMPONENTES EN JAVA] ITSSMT


informacin entre dos entidades lgicamente asociados con elementos de presentacin en la GUI. java.awt.event java.awt.Font java.awt.geom java.awt.im Proporciona las interfaces y las clases para hacer frente a diferentes tipos de eventos activados por los componentes de AWT. Proporciona clases e interfaces en relacin con las fuentes. Proporciona las clases Java 2D para definir y realizar operaciones en objetos relacionados con la geometra bidimensional. Proporciona clases e interfaces para el sistema de mtodos de entrada. Proporciona interfaces que permitan el desarrollo de mtodos de entrada que se pueden utilizar con cualquier entorno de ejecucin Java. Proporciona clases para crear y modificar imgenes. Proporciona clases e interfaces para la produccin de renderizado independientes de imgenes. Proporciona clases e interfaces para una API de impresin general. Contiene clases relacionadas con el desarrollo de frijoles - componentes basados en la arquitectura JavaBeans TM. Proporciona clases e interfaces relacionadas con el contexto de frijol. Provee para la entrada y salida del sistema a travs de flujos de datos, serializacin y el sistema de archivos. Proporciona clases que son fundamentales para el diseo del lenguaje de programacin Java. Proporciona objeto de referencia-clases, que soportan un grado limitado de interaccin con el colector de basura. Proporciona clases e interfaces para obtener informacin reflexivo sobre clases y objetos. Proporciona clases para realizar aritmtica de precisin arbitraria entero (BigInteger) y aritmtica de precisin arbitraria decimal (BigDecimal).

java.awt.im.spi

java.awt.image java.awt.image.renderable java.awt.print java.beans java.beans.beancontext java.io

java.lang

java.lang.ref java.lang.reflect

java.math

Tpicos Avanzados De Programacin |Julio Cesar JM

[COMPONENTES EN JAVA] ITSSMT


java.net java.nio Proporciona las clases para la implementacin de aplicaciones de red. Define tampones, que son contenedores para datos, y proporciona una visin general de los otros paquetes de NiO. Define los canales, los cuales representan las conexiones a las entidades que son capaces de realizar operaciones de E / S, tales como archivos y tomas de corriente, define selectores, para multiplexados, sin bloqueo de E / S operaciones. Proveedor de servicios de clases para el java.nio.channels paquete. Define conjuntos de caracteres, decodificadores y codificadores, para traducir entre bytes y caracteres Unicode. Proveedor de servicios de clases para el java.nio.charset paquete. Proporciona el paquete RMI. Proporciona soporte para activacin de objetos RMI. Proporciona clases e interfaces para RMI distribuidos de recoleccin de basura (DGC). Proporciona una clase y dos interfaces para el registro RMI. Proporciona clases e interfaces para apoyar el lado del servidor RMI. Proporciona las clases e interfaces para el marco de seguridad. Las clases e interfaces de este paquete han sido sustituidas por las clases del paquete java.security. Proporciona clases e interfaces para el anlisis y la gestin de certificados, listas de revocacin de certificados (CRL) y las rutas de certificacin. Proporciona interfaces para generar RSA (Rivest, Shamir y Adleman algoritmo AsymmetricCipher) teclas tal como se define en el archivo PKCS RSA laboratorio Nota tcnica # 1 y DSA (Digital Signature Algorithm) Teclas definidas en el NIST FIPS-186. Proporciona clases e interfaces para especificaciones clave y especificaciones de algoritmos de parmetros.

java.nio.channels

java.nio.channels.spi java.nio.charset java.nio.charset.spi java.rmi java.rmi.activation java.rmi.dgc java.rmi.registry java.rmi.server java.security java.security.acl

java.security.cert

java.security.interfaces

java.security.spec

Tpicos Avanzados De Programacin |Julio Cesar JM

[COMPONENTES EN JAVA] ITSSMT


Proporciona la API para acceder y procesar los datos almacenados en una fuente de datos (por lo general una base de datos relacional) utilizando el lenguaje de programacin Java TM. Proporciona clases e interfaces para manejo de texto, fechas, nmeros y mensajes de una manera independiente de las lenguas naturales. Contiene el marco colecciones, clases antiguas de coleccin, modelo de evento, fecha y hora de las instalaciones, la internacionalizacin, y las clases de diversos servicios pblicos (una cadena tokenizer, un generador de nmeros aleatorios, y una matriz de bits). Proporciona clases para leer y escribir el archivo JAR (Java Archive) Formato de archivo, que se basa en el formato de archivo estndar ZIP con un archivo de manifiesto opcional. Proporciona las clases y las interfaces de las instalaciones centrales de registro de la plataforma Java TM a 2. Este paquete permite a las aplicaciones para almacenar y recuperar las preferencias del usuario y del sistema y los datos de configuracin. Clases para coincidente con los patrones de secuencias de caracteres especificados por expresiones regulares. Proporciona clases para leer y escribir el estndar ZIP y GZIP formatos de archivo. Define un contrato entre los componentes de interfaz de usuario y una tecnologa de asistencia que proporciona acceso a los componentes. Proporciona las clases e interfaces para operaciones criptogrficas. Proporciona interfaces para Diffie-Hellman como se define en PKCS RSA Laboratories # 3. Proporciona clases e interfaces para especificaciones clave y especificaciones de algoritmos de parmetros. El paquete principal de Java Image I / O API. Un paquete de Java Image I / O API tratar

java.sql

java.text

java.util

java.util.jar

java.util.logging

java.util.prefs

java.util.regex java.util.zip

javax.accessibility

javax.crypto javax.crypto.interfaces javax.crypto.spec javax.imageio javax.imageio.event

Tpicos Avanzados De Programacin |Julio Cesar JM

[COMPONENTES EN JAVA] ITSSMT


con notificacin de eventos sincrnicos durante la lectura y escritura de imgenes. javax.imageio.metadata javax.imageio.plugins.jpeg javax.imageio.spi Un paquete de Java Image I / O API frente a la lectura y escritura de los metadatos. Clases de apoyo al JPEG integrada plug-in. Un paquete de Java Image I / O API que contiene el plug-in de interfaces para lectores, escritores, transcodificadores y arroyos, y un registro de tiempo de ejecucin. Un paquete de Java Image I / O API tratar con bajo nivel de E / S de archivos y secuencias. Proporciona las clases e interfaces para acceder a los servicios de nombres. Extiende el paquete javax.naming para proporcionar una funcionalidad para acceder a servicios de directorio. Proporciona soporte para la notificacin de sucesos al acceder a servicios de nombres y directorios. Proporciona soporte para LDAPv3 operaciones extendidas y controles. Proporciona los medios para conectar dinmicamente soporte para acceder a servicios de nombres y de directorio a travs de los paquetes dejavax.naming y relacionadas. Proporciona clases para aplicaciones de red. Proporciona clases para el paquete de socket seguro. Proporciona las principales clases e interfaces para Java TM Print Service API. Proporciona clases e interfaces que describen los tipos de Java TM atributos del servicio de impresin y la forma en que se puede recoger en conjuntos de atributos. Javax.print.attribute.standard paquete contiene clases para los atributos de impresin especficas. Javax.print.event paquete contiene clases de eventos e interfaces de escucha. Contiene usuario APIs de RMI-IIOP. Contiene portabilidad APIs para RMI-IIOP.

javax.imageio.stream javax.naming javax.naming.directory

javax.naming.event javax.naming.ldap

javax.naming.spi

javax.net javax.net.ssl javax.print

javax.print.attribute

javax.print.attribute.standard javax.print.event javax.rmi javax.rmi.CORBA

Tpicos Avanzados De Programacin |Julio Cesar JM

[COMPONENTES EN JAVA] ITSSMT


javax.security.auth Este paquete proporciona un marco para la autenticacin y autorizacin. Este paquete proporciona las clases necesarias para los servicios de interactuar con las aplicaciones para recuperar informacin (datos de autenticacin, incluyendo nombres de usuario o contraseas, por ejemplo) o para mostrar informacin (mensajes de error y de advertencia, por ejemplo). Este paquete contiene clases de utilidad relacionados con el protocolo de autenticacin Kerberos red. Este paquete proporciona un marco de autenticacin conectable. Este paquete proporciona la interfaz que se utilizar para la aplicacin de mdulos de autenticacin conectables. Este paquete contiene las clases que se deben utilizar para almacenar X500 X500 Crendentials Principal y privadas en un sujeto. Proporciona clases para certificados de claves pblicas. Proporciona las interfaces y las clases de E / S, la secuenciacin y sntesis de MIDI (Musical Instrument Digital Interface) de datos. Interfaces de Suministros para proveedores de servicios para implementar la hora de ofrecer nuevos dispositivos MIDI, lectores de archivos MIDI y escritores o lectores de sonido bancarias. Proporciona las interfaces y clases para la captura, procesamiento y reproduccin de datos de audio incluidos en la muestra. Fuentes de clases abstractas para los proveedores de servicios a la subclase al ofrecer nuevos dispositivos de audio, lectores de archivos de sonido y escritores, o convertidores de formato de audio. Proporciona la API para el acceso del lado del servidor de origen de datos y el procesamiento del lenguaje de programacin Java TM. Proporciona un conjunto de "peso ligero" (todo-en lenguaje Java) componentes que, en la medida de lo posible, el trabajo del

javax.security.auth.callback

javax.security.auth.kerberos javax.security.auth.login javax.security.auth.spi

javax.security.auth.x500 javax.security.cert javax.sound.midi

javax.sound.midi.spi

javax.sound.sampled

javax.sound.sampled.spi

javax.sql

javax.swing

Tpicos Avanzados De Programacin |Julio Cesar JM

10

[COMPONENTES EN JAVA] ITSSMT


mismo en todas las plataformas. javax.swing.border javax.swing.colorchooser javax.swing.event javax.swing.filechooser Proporciona clases e interfaces especializadas para la elaboracin de las fronteras en torno a un componente Swing. Contiene clases e interfaces utilizadas por el JColorChooser componente. Proporciona eventos activados por componentes Swing. Contiene clases e interfaces utilizadas por el JFileChooser componente. Proporciona una interfaz y muchas clases abstractas que Swing utiliza para proporcionar su look-and-feel enchufable capacidades. Proporciona objetos de interfaz de usuario construidas de acuerdo con el aspecto y la sensacin Basic. Proporciona objetos de interfaz de usuario construidas de acuerdo con el aspecto y la sensacin Java (Metal nombre en cdigo una vez), que es el valor por defecto de apariencia. Proporciona objetos de interfaz de usuario que combinan dos o ms mirada y se siente. Proporciona clases e interfaces para hacer frente a javax.swing.JTable . Proporciona clases e interfaces que tienen que ver con los componentes de texto editable y no editable. Proporciona la clase HTMLEditorKit y clases de apoyo para la creacin de los editores de texto HTML. Proporciona el analizador HTML predeterminado, junto con clases de apoyo. Proporciona una clase ( RTFEditorKit ) para la creacin de Rich-Text Format-editores de texto. Proporciona clases e interfaces para hacer frente a javax.swing.JTree . Permite a los desarrolladores para proporcionar soporte para deshacer / rehacer en aplicaciones tales como editores de texto. Contiene tres excepciones producidas por la

javax.swing.plaf

javax.swing.plaf.basic

javax.swing.plaf.metal

javax.swing.plaf.multi javax.swing.table javax.swing.text

javax.swing.text.html javax.swing.text.html.parser javax.swing.text.rtf javax.swing.tree

javax.swing.undo javax.transaction

Tpicos Avanzados De Programacin |Julio Cesar JM

11

[COMPONENTES EN JAVA] ITSSMT


maquinaria ORB durante unmarshalling. Proporciona la API que define el contrato entre el gestor de transacciones y el administrador de recursos, que permite al administrador de transacciones para obtener y exclusin de cotizacin de los objetos de recurso (suministrados por el controlador de administrador de recursos) en las transacciones JTA. Proporciona clases que permiten el procesamiento de documentos XML. Este paquete define las API genrico para el procesamiento de instrucciones de transformacin, y la realizacin de una transformacin de la fuente al resultado. Este paquete implementa DOM APIs especficas de transformacin. Este paquete implementa SAX2 API especficas de transformacin. Este paquete implementa la corriente y el URI de API especficas de transformacin. Este paquete ofrece un marco que permite a los desarrolladores de aplicaciones para hacer uso de los servicios de seguridad como autenticacin, integridad de datos y confidencialidad de los datos de una variedad de mecanismos de seguridad subyacentes como Kerberos, mediante una API unificada. Proporciona la asignacin de las API OMG CORBA para el lenguaje de programacin Java TM, incluyendo la clase ORB, que se implementa para que un programador puede utilizar como un corredor de objetos totalmente funcional Request (ORB). El paquete CORBA_2_3 define adiciones a las interfaces de CORBA en Java 2 Standard Edition. Estos cambios se produjeron en las ltimas revisiones a la API CORBA define en el OMG. Los mtodos se han aadido nuevas interfaces derivadas de las interfaces correspondientes en el paquete de CORBA. Esto proporciona compatibilidad y evita romper las pruebas JCK. Proporciona mtodos que permiten la entrada y salida de los tipos de valor, y contiene otras actualizaciones para

javax.transaction.xa

javax.xml.parsers

javax.xml.transform

javax.xml.transform.dom javax.xml.transform.sax javax.xml.transform.stream

org.ietf.jgss

org.omg.CORBA

org.omg.CORBA_2_3

org.omg.CORBA_2_3.portable

Tpicos Avanzados De Programacin |Julio Cesar JM

12

[COMPONENTES EN JAVA] ITSSMT


el org/omg/CORBA/portablepaquete. org.omg.CORBA.DynAnyPackage Proporciona las excepciones se utilizan con el DynAny interfaz ( InvalidValue , Invalid , InvalidSeq y TypeMism atch ). Proporciona la excepcin InvalidName , que es producida por el mtodo ORB.resolve_initial_references y la excepcinInconsistentTypeCode , que es arrojado por los mtodos dinmicos de cualquier creacin de la clase ORB. Proporciona una capa de portabilidad, es decir, un conjunto de APIs ORB que hace posible que el cdigo generado por un vendedor para ejecutar en ORB de otro proveedor. Proporciona al usuario excepciones definidas BadKind y Bounds , que se produce en los mtodos de la clase TypeCode . Ofrece un servicio de nombres para Java IDL.

org.omg.CORBA.ORBPackage

org.omg.CORBA.portable

org.omg.CORBA.TypeCodePackage org.omg.CosNaming

Este paquete contiene las clases siguientes, org.omg.CosNaming.NamingContextExtPa que se utilizan ckage en org.omg.CosNaming.NamingContextExt: org.omg.CosNaming.NamingContextPack age Este paquete contiene clases de excepcin para el paquete org.omg.CosNaming. Este paquete contiene el mdulo dinmico se especifica en el pliego de condiciones Interceptor OMG Portable, http://cgi.omg.org/cgibin/doc?ptc/2000-08-06 , seccin 21.9. Proporciona clases e interfaces que permiten recorrido del valor de los datos asociados a un any en tiempo de ejecucin, y la extraccin de los constituyentes primitivos del valor de datos.

org.omg.Dynamic

org.omg.DynamicAny

Este paquete contiene clases y excepciones de la interfaz del mdulo DynAnyFactory org.omg.DynamicAny.DynAnyFactoryPack DynamicAny especificado en el OMG The age Common Object Request Broker: Arquitectura y especificacin, http://cgi.omg.org/cgibin/doc?formal/99-10- 07 , seccin 9.2.2. Este paquete contiene clases y excepciones de la interfaz del mdulo DynAny DynamicAny especificado en el OMG The Common Object Request Broker: Arquitectura y especificacin, http://cgi.omg.org/cgibin/doc?formal/99-10- 07 , seccin 9.2.

org.omg.DynamicAny.DynAnyPackage

Tpicos Avanzados De Programacin |Julio Cesar JM

13

[COMPONENTES EN JAVA] ITSSMT


Este paquete contiene el mdulo IOP especificado en el documento de OMG The Common Object Request Broker: Arquitectura y especificacin, http://cgi.omg.org/cgibin/doc?formal/99-10-07 , seccin 13.6. Este paquete contiene las excepciones previstas en el PIO :: Interfaz CodeFactory (como parte de la especificacin de interceptores porttiles). Este paquete se genera a partir de la IOP :: Cdec IDL definicin de interfaz. Este paquete contiene el mdulo de mensajera especifica en la especificacin OMG CORBA Mensajera, http://cgi.omg.org/cgibin/doc?formal/99-10-07 . Proporciona un mecanismo para registrar los ganchos ORB a travs del cual los servicios ORB pueden interceptar el flujo normal de ejecucin del ORB.

org.omg.IOP

org.omg.IOP.CodecFactoryPackage

org.omg.IOP.CodecPackage

org.omg.Messaging

org.omg.PortableInterceptor

Este paquete contiene las excepciones y las definiciones de tipo de la interfaz ORBInitInfo local del org.omg.PortableInterceptor.ORBInitInfoPa mdulo PortableInterceptorespecificado en ckage la especificacin OMG Interceptor Portable, http://cgi.omg.org/cgibin/doc?ptc/2000-08-06 , seccin 21.7 0.2. org.omg.PortableServer Proporciona clases e interfaces para hacer que el servidor de aplicaciones porttiles a travs de mltiples proveedores ORBs. Proporciona implementaciones del mtodo con el acceso a la identidad del objeto en el que se invoca el mtodo.

org.omg.PortableServer.CurrentPackage

org.omg.PortableServer.POAManagerPack Encapsula el estado de procesado de los age POA que est asociado. org.omg.PortableServer.POAPackage Permite a los programadores construir implementacin de los objetos que son portables entre diferentes productos de ORB. Proporciona clases e interfaces para hacer que el servidor de aplicaciones porttiles a travs de mltiples proveedores ORBs.

org.omg.PortableServer.portable

org.omg.PortableServer.ServantLocatorPac Proporciona clases e interfaces para localizar kage el servidor. org.omg.SendingContext Proporciona soporte para el clculo de referencias de tipos de valor.

Tpicos Avanzados De Programacin |Julio Cesar JM

14

[COMPONENTES EN JAVA] ITSSMT


Contiene RMI-IIOP Stubs para los tipos de distancia que se producen en el paquete java.rmi. Proporciona las interfaces para el Document Object Model (DOM) que es un componente de la API API Java para procesamiento de XML . Proporciona las clases e interfaces para la API simple para XML (SAX) que es un componente de la API Java para procesamiento de XML . Proporciona clases e interfaces de extensin de la API simple para XML (SAX) que es un componente de la API Java para procesamiento de XML . Ofrece clases de ayuda para la API simple para XML (SAX) que es un componente de la API Java para procesamiento XML .

org.omg.stub.java.rmi

org.w3c.dom

org.xml.sax

org.xml.sax.ext

org.xml.sax.helpers

Tpicos Avanzados De Programacin |Julio Cesar JM

15

[COMPONENTES EN JAVA] ITSSMT Paquetes


Un paquete en Java es lo que su nombre lo indica, un paquete o conjunto de clases, lgicamente, que tienen cosas en comn. Lgicamente un programado puede agruparlas con o sin criterio, pero lo ideal es que se dediquen a funciones especficas. Tambin los paquetes definen una jerarqua de directorios, que permiten igualmente agrupas las clases, cosa de desplegar los archivos mas ordenadamente. Tambin, cuando necesitamos libreras de java, igualmente estamos llamando a una clase especfica o a todo un paquete. Por ejemplo, cuando ponemos esto: import System.io.*; estamos importando todas las clases del paquete System.io. Ahora, si hacemos esto: import org.usach.abo.ABO;

Estamos importando la clase ABO del paquete org.usach.abo. Para definir un paquete solo tenemos que incluir antes que los paquetes a importar, la definicin del paquete al que pertenece la clase, de la forma siguiente: package org.ruta.del.paquete; lo que implica que el paquete tiene que estar en la ruta: org/ruta/del/paquete o en windows, suponiendo que el proyecto fue creado en c:\mi_proyecto\ c:\mi_proyecto\org\ruta\del\paquete\ En ese directorio tenemos que crear nuestra clase con el identificador de package. Si queremos compilar o ejecutar algo, solo tenemos que ubicarnos en el directorio del

Tpicos Avanzados De Programacin |Julio Cesar JM

16

[COMPONENTES EN JAVA] ITSSMT


proyecto y poner: java org.ruta.del.paquete.MiClase javac org.ruta.del.paquete.MiClase.java El asume estomticamente la ruta hacia la clase o conjunto de clases. JARs Los JAR o archivos con extensin .jar, corresponden a archivos ZIP, que contienen un conjunto de clases organizadas en paquetes. Esto resulta muy til cuando tenemos una gran cantidad de clases, lo que implica una gran cantidad de archivos, por lo que empaquetarlas en un JAR resulta practico al momento de la distribucin de nuestro software o despliegue. Para crear un JAR de nuestros paquetes, solo tenemos que ubicarnos en la raiz de los paquetes y llamar al ejecutable jar, que viene includo en el SDK de Java, asi: jar cvf mipaquete.jar * y con esto obtendremos todas las clases y paquetes en un solo y practico archivo JAR.Asi mismo, para extraer el contenido de un .jar solo hay que hacer: jar xvf mipaquete.jar y recrea la estructura del paquete que tenamos cuando empaquetamos. JARs y Netbeans 5.5 Al trabajar con NetBeans tambien podemos decirle que nos genere un archivo JAR para distribuir nuestro proyecto. Para hacer esto, hacemos click secundario en el proyecto y vamos a "Properties" y luego a la seccion "Packaging". Deberian ver algo como esto:

El primer cuadro nos muestra cual ba a ser el nombre del archvo JAR a generar. El segundo muestra que archivos va a

Tpicos Avanzados De Programacin |Julio Cesar JM

17

[COMPONENTES EN JAVA] ITSSMT


excluir al empaquetar, que como predeterminado excluye los fuentes. Tambin, nos da la opcin de comprimir el archivo JAR, usando comprensin ZIP.

Para Windows: Les recomiendo que al momento de trabajar con estas utilidades, ya sea al trabajar con JARs o compilar y ejecutar usando la liea de comandos, agreguen en su variable de entorno el directorio en donde tienen instalado su SDK, al directoio "bin". As, si yo tengo instalado mi SDK en: c:\Archivos de programas\J2SDK_\ Nota: si tienen la ultima(a la fecha de escribir esto), es 1.6.0 y es 1. En su variable PATH, deberan tener agregado: c:\Archivos de programas\J2SDK_\bin Verifquenlo abriendo la consola (Men Inicio->Ejecutar->'cmd') y tecleando: echo %PATH% y debera estar en su ruta.

Tpicos Avanzados De Programacin |Julio Cesar JM

18