jueves, 9 de julio de 2015

15- JAVA: PANELES DE DESPLAZAMIENTO "JScrollPane"

   

EJERCICIO GUIADO. JAVA: PANELES DE DESPLAZAMIENTO

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 viera entera:

Los paneles de desplazamiento son objetos del tipo JScrollPane.


Ejercicio guiado 1

1. Vamos a practicar con los JScrollPane. Para ello, crea un nuevo proyecto.

2. Añade en el proyecto un JScrollPane. 

3. 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)

4. El formulario debe tener ahora este aspecto:




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



Observa como tienes un JScrollPane que contiene una etiqueta.


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




7. Elimina el texto contenido en la etiqueta etiImagen. Solo tienes que borrar el contenido de la propiedad text.

8. Luego introduciremos una imagen dentro de la etiqueta, a través de la propiedad icon. La imagen la introduciremos desde fichero, y elegiremos la siguiente imagen de tu disco duro:

Mis Documentos / Mis Imágenes / Imágenes de Muestra / Nenúfares.jpg

9. 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.




10. 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.


11. Ejecuta el programa y compruébalo.



Ejercicio guiado 2

Los JScrollPane no solo están diseñados para contener imágenes. Pueden contener cualquier otro elemento. Vamos a ver, con otro proyecto de ejemplo, otro uso de los JScrollPane.


1. Crea un nuevo proyecto.

2. Añade a la ventana 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:



3. 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:



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

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




6. 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:


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



8. Para distinguirlo de lo que es en sí la ventana, haremos las siguientes cosas con el panel:

- Cambia el color de fondo y asígnale un color verde.
- Añade en él una etiqueta con el texto “Panel de Datos”.
- Añade varias etiquetas y cuadros de textos correspondientes a los días de la semana.
- 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:




9. 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. 

10. Ejecuta el programa 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.

César GI

About César GI

Lo que me importa es poder enseñar lo poco que se, por que asi como yo aprendo leyendo gracias a las personas que comparten sus conocimiento yo tambien quiero ayudar a la comunidad en español aportando lo poco que he aprendido hasta el momento.