martes, 23 de febrero de 2016

016.- Uso de Paneles de Desplazamiento (JScrollPane) - Java y NetBeans


En este apartado voy a explicar el uso de Paneles de Desplazamiento:

Llamaremos paneles de desplazamiento a paneles que contienen elementos tan grandes que no pueden ser mostrados en su totalidad. Estos paneles contienen entonces dos barras de desplazamiento que permiten visualizar el interior del panel de desplazamiento correctamente.

Por ejemplo, un panel de desplazamiento podría contener una imagen tan grande que no se vea completa en una ventana:

Los paneles de desplazamiento son objetos del tipo JScrollPane.


En el siguiente ejercicio haremos uso de un JScrollPane:

  1. Crea un nuevo proyecto.

  1. Dentro de Source Packages crea un Java Package y llamalo paqueteInicial.

  1. Dentro de paqueteInicial crea un JFrame Form y nombralo VentanaInicial.

  1. Añade en la VentanaInicial un JScrollPane.

  1. Un JScrollPane, por sí mismo, no contiene nada. Es necesario añadir dentro de él el objeto que contendrá. Para nuestro ejemplo añadiremos dentro de él una etiqueta (JLabel).

  1. El formulario debe tener ahora este aspecto:



  1. Si observas el Inspector verás claramente la distribución de los objetos:



         Observa como se tiene un Panel de Desplazamiento (JScrollPane) que contiene una Etiqueta (JLabel).


  1. Aprovechemos el Inspector para cambiar el nombre a cada objeto. Al JScrollPane le llamaremos scpImagen y a la Etiqueta etiImagen.



  1. Elimina el texto contenido en la etiqueta etiImagen. Sólo tienes que borrar el contenido de la propiedad text.

  1. Necesitarás una imagen lo bastante grande que no quepa en pantalla en su tamaño normal, descarga una desde Internet.

  1. Luego introduciremos la imagen conseguida anteriormente dentro de la etiqueta, a través de la propiedad icon. La imagen la introduciremos desde fichero eligiendo la ruta donde la guardaste.

  1. Esta imagen es tan grande que no se podrá ver entera dentro del panel de desplazamiento. Ejecuta el programa y observarás el uso de las barras de desplazamiento dentro del panel.



  1. Puedes mejorar el programa si agrandas el panel de desplazamiento de forma que ocupe todo el formulario:



De esta forma, cuando ejecutes el programa, al agrandar la ventana, se agrandará el panel de desplazamiento, viéndose mejor la imagen contenida.

  1. Ejecuta el proyecto y compruébalo.



Desarrollaremos otro proyecto haciendo uso de los JScrollPane:

Los JScrollPane no solo están diseñados para contener imágenes. Pueden contener cualquier otro elemento.

  1. Crea un nuevo proyecto.

  1. Dentro de Source Packages crea un Java Package y llamalo paqueteInicial.

  1. Dentro de paqueteInicial crea un JFrame Form y nombralo VentanaInicial

  1. Añade a la VentanaInicial una etiqueta con el texto “Ejemplo 2 de JScrollPane” y un JScrollPane de forma que esté asociado a los límites de la ventana. Observa la imagen:



  1. Ahora añade dentro del JScrollPane un panel normal (JPanel). En la ventana no notarás ninguna diferencia, pero en el Inspector debería aparecer esto:



  1. Como ves, el JScrollPane contiene a un objeto JPanel.

  1. Aprovechemos para cambiar el nombre a ambos objetos. Al JScrollPane lo llamaremos scpDatos y al JPanel lo llamaremos panelDatos.



  1. Los JPanel son objetos contenedores. Es decir, pueden contener otros objetos como por ejemplo botones, etiquetas, cuadros de texto, etc.

Además, los JPanel pueden ser diseñados independientemente de la ventana. Haz doble clic sobre el panelDatos en el Inspector y observa lo que ocurre.


  1. En la pantalla aparecerá únicamente el JPanel, para que puede ser diseñado aparte de la ventana completa:



  1. Para distinguirlo de lo que es en sí la ventanaInicial, haremos las siguientes cosas en el panel (después de hacer doble clic en él):

-        Cambia el color de fondo y asígnale un color azul claro (usa su propiedad background).
-        Añade en él una etiqueta con el texto “Panel de Información Mensual:”.
-        Añade varias etiquetas y cuadros de textos correspondientes a los meses del año.
-        Agranda el panel.

El panel debería quedar así. Toma como referencia esta imagen:



Es muy interesante que observes el Inspector. En él podrás observar la distribución de los objetos en la ventana. Podrás ver como el JFrame contiene un JScrollPane (scpDatos) que a su vez contiene un JPanel (panelDatos) que a su vez contiene una serie de etiquetas y cuadros de textos a los que aún no les hemos asignado un nombre:



  1. Haz doble clic sobre el JFrame (en el Inspector) para poder ver globalmente la ventana. En la pantalla debería aparecer esto:



Como ves, el JPanel contenido en el JScrollPane es más grande que él, por lo que no se podrá visualizar completamente. Será necesario usar las barras de desplazamiento del JScrollPane.

  1. Ejecuta el proyecto para entender esto último.



CONCLUSIÓN:

Los objetos JScrollPane son paneles de desplazamiento. Estos paneles pueden contener objetos mayores que el propio panel de desplazamiento. Cuando esto sucede, el panel muestra barras de desplazamiento para poder visualizar todo el contenido del panel.

Los JScrollPane son ideales para mostrar imágenes, paneles y otros elementos cuyo tamaño pueda ser mayor que la propia ventana.



No hay comentarios.:

Publicar un comentario