## Las Clases del Programa de Ejemplo

El programa de ejemplo define dos clases que descienden de las clases del AWT. También define una clase para almacenar datos. Sin embargo, la mayoría de los objetos del programa son ejemplares de las clases del AWT.

Esta página recuenta todos los objetos que son creados en el programa. No te preocupes -- no esperamos que lo entiendas todo aún. Sólo queremos explicarte la clase de objetos que un programa GUI podría utilizar.

### Las Clases definidas en el programa de ejemplo

> El programa define dos subclases de Panel; Converter y ConversionPanel y una clase sencilla llamada Unit.

> La clase Converter es el corazón del programa de ejemplo. Contiene el método main() del programa (que es llamado si el programa se utiliza como una aplicación), y así como el código de inicialización y de arranque, que es llamado por el método main() o por la aplicación que carga el programa como un applet. La clase Converter realmente desciende de la clase Applet (que a su vez desciende de la clase Panel) en lugar de descender directamente de la clase Panel. Esto es necesario porque todos los applets deben contener una subclase de Applet. Sin embargo, como el programa de ejemplo también se puede ejecutar como una aplicación, la clase Converter no debe utilizar ninguna de las funcionalidades proporcionadas por la clase Applet. En otras palabras, la clase Converter debe implementarse como si descendiera de la clase Panel.

> La clase ConversionPanel proporciona una forma de agrupar todos los controles que definen un conjunto particular de distancias. El programa de ejemplo crea dos objetos ConversionPanel, uno para las medidas en el sistema métrico y otro para las medidas en el sistema americano.

> La clase Unit proporciona objetos que agrupan una descripción (como "Centimetros") con un multiplicador que indica el número de unidades por metro (0,01 por ejemplo).

### Objetos del AWT en el Programa de Ejemplo

> El programa de ejemplo utiliza varios LayoutManagers, Containers, y Components proporcionados por el paquete AWT. También crea dos objetos Insets y dos objetos GridBagConstraints.

> El programa de ejemplo crea tres objetos que conforman el interface Layoutmanager: un GridLayout y dos GridBagLayout. El GridLayout controla la disposición de los componentes en el ejemplar de Converter. Cada ConversionPanel utiliza un objeto GridBagLayout para manejar sus componentes, y un objeto GridBagConstraints para especificar como colocar cada uno de los componentes.

> Junto con los objetos Converter y ConversionPanel, el programa crea un contenedor más. Esppecíficamente, si el programa se ejecuta como una aplicación (en vez de como un applet), crea un objeto Frame (una ventana independiente).

> Todos los componentes que no son contenedores en el programa ejemplo son creados por ConversionPanel. Cada ConversionPanel contiene un ejemplar de las clases Label, Choice, TextField, y Scrollbar del AWT.

> Tanto la clase Converter como la ConversionPanel crean ejemplares de Insets que especifican el espacio que debe aparecer entre sus representaciones en la pantalla.

Ozito