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:
- Crea un nuevo
proyecto.
- Dentro de Source Packages crea
un Java Package y llamalo paqueteInicial.
- Dentro de paqueteInicial crea
un JFrame Form y nombralo VentanaInicial.
- Añade en la VentanaInicial
un JScrollPane.
- 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).
- El formulario
debe tener ahora este aspecto:
- 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).
- Aprovechemos el Inspector para cambiar el nombre a cada objeto. Al JScrollPane
le llamaremos scpImagen y a la Etiqueta etiImagen.
- Elimina el texto contenido en la etiqueta etiImagen.
Sólo tienes que borrar el contenido de la propiedad text.
- Necesitarás una imagen lo bastante grande que
no quepa en pantalla en su tamaño normal, descarga una desde Internet.
- 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.
- 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.
- 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.
- 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.
- Crea un nuevo
proyecto.
- Dentro
de Source Packages crea un Java
Package y llamalo paqueteInicial.
- Dentro
de paqueteInicial crea un JFrame Form y
nombralo VentanaInicial
- 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:
- 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:
- Como ves, el
JScrollPane contiene a un objeto JPanel.
- Aprovechemos
para cambiar el nombre a ambos objetos. Al JScrollPane lo llamaremos scpDatos
y al JPanel lo llamaremos panelDatos.
- 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.
- En la pantalla
aparecerá únicamente el JPanel, para que puede ser diseñado aparte de la
ventana completa:
- 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:
- 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.
- 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