New 2 Java: Construir una Aplicación: 2.- Herencia, Paneles y Distribución

Las constantes est�n escritas todas en may�sculas, como PI, NORTH, RATE. Una constante es un valor que nunca cambia. La clase Math, por ejemplo, tiene constantes que podemos usar, como PI. La clase BorderLayout llama a sus constantes constraints para identificar una localizaci�n espec�fica en la distribuci�n. Podr�amos usar constantes para designar la respresentaci�n de un fecha fija, un ratio que permanece igual por largos periodos, o un d�a espec�fico del a�o.

.�A�adir Objetos al Panel

A�adir los objetos que hemos creado al panel es el �ltimo paso en la creaci�n del panel Welcome.

Recuerda que no necesitamos usar las cinco regiones del BoderLayout. Como s�lo tenemos que a�adir tres objetos. s�lo necesitamos usar tres regiones de BorderLayout:

Cada regi�n est� identificada por su localizaci�n y su comportamiento. Las localizaciones son similares a un mapa geol�gico, y cada uno de sus valores dados se llama "Restricci�n". El comportamiento afecta al modo en como aparece el espacio alrededor del componente cuando la ventana es redimensionada:

  • BorderLayout.NORTH
    Situaci�n: La regi�n m�s superior, apoximadamente.
    Comportamiento: Este �rea se hace tan "alta" como el componente que pongamos dentro, pero se ensancha horizontalmente hasta llenar la ventana.
  • BorderLayout.SOUTH
    Situaci�n: El �rea inferior de la ventana, aproximadamente.
    Comportamiento: igual que NORTH.
  • BorderLayout.EAST
    Situaci�n: El �rea derecha de la pantalla, aproximadamente.
    Comportamiento: Este �rea se hace tan "ancha" como el componente que pongamos dentro, pero se ensacha verticalmente hasta llenar la ventana.
  • BorderLayout.WEST
    Situaci�n: El �rea izquierda de la pantalla, aproximadamente.
    Comportamiento: Igual que EAST.
  • BorderLayout.CENTER
    Situaci�nPlacement: En el centro si lo rodean otros componentes, de otro modo centrado hacia el lado que no est� ocupado por otra regi�n.
    Comportamiento: Igual que EAST y WEST, s�lo se hace tan ancho como el componente que a�adamos, pero se ampl�a verticalmente para llenar la ventana.

El prop�sito y la importancia de los comportamientos de las regiones se vuelve m�s obvio seg�n vayamos a�adiendo componentes y experimentando con las diferentes regiones donde podemos a�adirlos. Por ahora, a�adimos los componentes utilizando s�lo las posiciones NORTH, CENTER, y SOUTH.

Sigue estos pasos...
  1. Abre el fichero Welcome.java en tu editor de texto.
  2. En una l�nea antes del corchete de cierre del constructor de la clase, a�adimos las siguiente l�neas de c�digo para a�adir los objetos en el panel, usando las regiones de BoderLayout:
    add(jl, BorderLayout.NORTH);
    add(ta, BorderLayout.CENTER);
    add(diver, BorderLayout.SOUTH);
    
  3. Graba el fichero.

Nuestro fichero Welcome.java se deber�a parecer a este Welcome.java

.�Compilar y Ejecutar la Aplicaci�n

Compilar la aplicaci�n es lo mismo que para la clase DiveLog. Cuando compilamos la clase DiveLog, tambi�n se compilaron todas las clases que ella llama, incluyendo la clase Welcome que acabamos de a�adir.

Asumiendo que tienes instalada la plataforma Java 2, Standard Edition (J2SE), y que hemos creado un directorio llamado divelog, compilamos el fichero DiveLog.java.

Sigue estos pasos...
  1. Compilamos DiveLog.java de esta forma:
    Sobre Windows:
    C:\divelog>javac -classpath C:\ DiveLog.java 
    
    Sobre Solaris:
    divelog% javac -classpath /home/usr/ DiveLog.java
    

    Observa que est�s en el directorio divelog mientras ejecutas este comando, y asegurate de que hay un espacio entre el �ltimo \ o / antes de DiveLog.java.

  2. Eejcuta Dive Log de esta forma:
    Windows:
    C:\divelog>java -classpath C:\ divelog.DiveLog
    
    Solaris:
    divelog% java -classpath /home/usr/ divelog.DiveLog
    

La aplicaci�n se deber�a parecer a la imagen de abajo:

Prueba la forma en que comportan las diferentes regiones a�adiendo los componentes a diferentes regiones. Esto lo puedes hacer, cambiando:

add(jl, BorderLayout.NORTH);
por:
add(jl, BorderLayout.WEST);

En la siguiente parte del tutorial, trabajaremos de nuevo con el controlador BorderLayout y aprenderemos m�s sobre el comportamiento de las regiones y c�mo diferentes tipos de componentes se redimensionan dentro de esas regiones. Por ahora, experimenta a�adiendo componentes adicionales y movi�ndolos por diferentes regiones del controlador BorderLayout.

.�Sumario

La Parte 2 del toturial ha revisado los conceptos de programaci�n Java de la Parte 1 y ha presentado unos nuevos:

Herencia

  • Una clase desciende directamente de una clase espec�ficada usando la palabra clave extends.
  • Extender una clase espec�fica le da a las clases hijo las caracter�sticas de la clase padre y m�s.
  • Extender una clase espec�fica nos permite sobreescribir m�todos de la clase padre.

Contenedores y Componentes

  • Los contenedores y componentes son ingredientes b�sicos del GUI Java.
  • Un panel es un contenedor que contiene otros componentes y otros contenedores.
  • Un JLabel es un simple contenedor que contiene texto e im�genes.
  • Un JTextArea es un componente que contiene texto multi-linear y tiene m�todos predefinidos para realizar alg�nformateo.

Controladores de Distribuci�n

  • Un controlador de distribuci�n es un objeto que ordena los componentes de un panel.
  • Hay muchos controladores de distribuci�n predefinidos que los desarrolladores pueden usar en sus aplicaciones.
  • El BoderLayout es un controlador de distribuci�n flexible que tiene cinco regiones utilizables, ordenadas como un mapa geogr�fico.

Las clases de la aplicaci�n Dive Log sirven como ejemplos introductorios a la programaci�n en Java. No es una gu�a comprensiva al lenguaje Java, pero si es un ejemplo de una aplicaci�n que ense�a los conceptos b�sicos del legnuaje Java. Los conceptos se repetir�n en sucesivas partes del tutorial seg�n vayamos construyendo pesta�as de la aplicaci�n.

La serie del tutorial Dive Log cubre m�s sobre los m�todos, los objetos y los constructors adem�s de crear otros componentes Swing. Cada clase de Dive Log presenta nuevas ideas as� como repite las que se han presentado en partes anteriores del tutorial. Adem�s, cada clase que representa un tabbed pane va siendo m�s compleja en t�rminos de caracter�sticas y conceptos de programaci�n.

COMPARTE ESTE ARTÍCULO

COMPARTIR EN FACEBOOK
COMPARTIR EN TWITTER
COMPARTIR EN LINKEDIN
COMPARTIR EN WHATSAPP
ARTÍCULO ANTERIOR