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

Los contenedores y los componentes son ingredientes del kit de construcci�n GUI sobre la plataforma Java. Los paquetes java.awt y javax.swing proporcionan contenedores y componentes predefinidos para usarlos en nuestras aplicaciones, y podemos desarrollar o personalizar los nuestros propios.

La aplicaci�n Dive Log usa contenedores y componentes predefinidos, personalizados para cubrir las necesidades de un sencillo diario de buceo. En la clase DiveLog, creamos un contenedor Frame, extendiendo la clase JFrame, o creando un objeto JFrame con la palabra clave new. Adem�s, creamos un segundo contenedor: JTabbedPane, sobre el que inicializamos contenedores y componentes.

Antes de continuar con la clase Welcome, donde a�adiremos otros contenedores y componentes, deber�amos entender el prop�sito de los contenedores y los componentes.

.�Contenedores

Los objetos del mundo real necesitan contenedores. Nuestro coche tiene un chasis que contiene otros tipos de contendores, como puertas, un maletero, un cap� que encierra el motor, y un compartimento que contiene objetos de los pasajeros como asientos y controles para conducir el coche. Adem�s, nuestro coche tiene otros numerosos contenedores con partes m�s peque�as, o componentes, dentro. Los componentes de aplicaciones software tambi�n contienen contenedores que contienen numerosos objetos y frecuentemente otros contenedores.

Una aplicaci�n GUI tiene al menos estos objetos:

  • Un contenedor frame para contener las partes visuales y no visuales del GUI.
  • Un contenedor panel que est� seccionado en una distribuci�n espec�fica.
  • Componentes que son a�adidos al panel dentro de las secciones de distribuci�n especificadas
Sigue estos pasos...
  1. Abre el fichero Welcome.java en tu editor de texto.
  2. Extiende la clase Welcome con JPanel en la declarac�n de clase si no lo has hecho ya en la parte 1:
    public class Welcome extends JPanel
    { //Opens class
    
    }//Closes class Welcome 
    
  3. Graba el fichero

Como la clase Welcome extiende la clase JPanel, estamos haciendo que este objeto sea un panel, en particular un JPanel, que es un contenedor. Ahora hemos creado una aplicaci�n con:

  • Un contenedor frame que contiene un
  • contenedor content pane que contiene un
  • contenedor tabbed pane que contiene un
  • contenedor panel que conteine otros componentes o contenedores

.�Components

Los componentes software permiten al usuario interactuar con una aplicaci�n, tanto pasiva como acticamente:

  • Pasivamente
    Los componentes muestran texto, t�tulos e im�genes.
  • Activamente
    Los componentes permiten al usuario solicitar o dar informaci�n a trav�s de botones, men�s, botones de radio, campos de texto, etc.

Veremos muchos componentes en el navegador que est�mos usando ahora, como:

  • Botones
  • Barras de Desplazamiento
  • Campos de texto.
  • Texto e im�genes

La librer�a del proyecto Swing tiene disponibles muchos componentes predefinicos para usarlos en nuestras aplicaciones. Cuando creamos componentes, estos objetos pueden heredar m�todos de la clase JComponent, como:

  • setBackground(Color bg)
  • setForeground(Color fg)
  • setOpaque(boolean isOpaque)
  • setToolTipText(String text)
  • setVisible(boolean aFlag)

Algunos de estos m�todos nos deber�an parecer familiares, ya que los hemos usado en la clase DiveLog. El punto importante sobre estos m�todos es que podemos llamarlos sobre cualquier componente que creemos. Veremos estos m�todos en acci�n pronto.

En el siguiente ejercicio de programaci�n, crearemos los componentes pasivos mostrados abajo:

  • Dos im�genes
  • Texto
  • Un �rea de texto
  • Un borde con t�tulo

Y estos objetos:

  • Una etiqueta con una imagen y texto.
  • Un �rea de texto
  • Una segunda etiqueta con una imagen
Sigue estos pasos...
  1. Abre el fichero Welcome.java en tu editor de texto.
  2. A�ade las siguientes variables justo despu�s del corchete abierto de la clase. Estas variables todav�a no se han asignado:
    • private JLabel jl;
    • private JTextArea ta;
    • private JLabel diver;
  3. Graba el fichero

Estas variables se han declarado private. No hay ninguna raz�n para acceder a ellas desde fuera de la clase. Adem�s. estas variables no se han asignado todav�a porque su declaraci�n fuera de un m�todo las hace disponibles para el resto de la clase. Inicializar las variables en el constructor de la clase fuerza a estos objetos a ser construidos durante la propia inicializaci�n de la clase.

Configurar el resto de los paneles de Welcome lleva cuatro pasos. Aqu� falta el paso 2:

  1. Declarer variables.
  2. Crear objetos GUI, como etiquetas, im�genes, etc.
  3. A�adir los objetos al panel
�Cu�l es el paso 2?
   A  Seleccionar un controlador de distribuci�n en el constructor de Welcome
   B  Crear un m�todo main para la clase
   C  ninguno

COMPARTE ESTE ARTÍCULO

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