A continuación explico cómo usar las Barras de
Desplazamiento (JScrollBars):
La
clase JScrollBar permite crear barras de desplazamiento independientes, como la
que se muestra a continuación:
La
barra tiene un valor mínimo, que se consigue haciendo que el recuadro de la
barra de desplazamiento esté pegado a la parte izquierda.
Cuando
se pulsa algunos de los botones de la barra de desplazamiento, el valor de la
barra se incrementa / decrementa poco a poco. A este incremento / decremento lo
llamaremos incremento unitario.
Cuando
se pulsa directamente sobre la barra, el valor de la barra se incrementa /
decrementa en mayor cantidad. A este incremento / decremento lo llamaremos incremento en bloque.
A continuación mostramos el funcionamiento de las Barras de
Desplazamiento a través de un ejemplo en NetBeans:
- Crea
un nuevo proyecto.
- Dentro
de Source Package crea un Java Package y
llamalo paqueteInicial.
- Dentro
de paqueteInicial crea un JFrame Form y
nombralo VentanaInicial.
- Dentro
de VentanaInicial añade una Barra de Desplazamiento (JScrollBar) y
nómbrala desValor.
- La barra de
desplazamiento aparecerá en vertical. Use la propiedad de la barra llamada
orientation para hacer que la
barra aparezca en posición horizontal.
- Agrega también
una etiqueta con borde y nómbrala etiValorBarra.
- El diseño de la
ventana debe ser el siguiente:
- Interesa que
cuando el usuario cambie de alguna manera la barra de desplazamiento, en
la etiqueta aparezca el valor de la barra.
Para ello, se debe programar el evento adjustmentValueChanged de la barra de desplazamiento.
En este evento programemos lo
siguiente:
etiValorBarra.setText("El
valor de la barra de despazamiento es: " + desValor.getValue());
- Como ves, se
coloca en la etiqueta el valor de la barra. El valor de la barra se
obtiene con el método getValue.
Ejecuta el programa para ver su funcionamiento.
- Sigamos aprendiendo
más de las Barras de Desplazamiento. Se pide que cambies las siguientes
propiedades de la barra:
minimum – Permite asignar el valor mínimo de la barra. Cámbiala
a 40
maximum – Permite asignar el valor máximo de la barra. Cámbiala
a 80
unitIncrement – Permite cambiar el incremento unitario. Cámbiala a 2.
blockIncrement – Permite cambiar el incremento en bloque. Cámbiala a 5.
visibleAmount – Permite cambiar el ancho del recuadro de la
barra. Escribe un 5.
- Ejecuta ahora
el programa y comprueba su funcionamiento:
- Tal como se ha
indicado anteriormente, pasa algo raro con la barra de desplazamiento
cuando esta está al máximo. Se esperaba que alcanzara el valor 80, y sin embargo, el valor máximo
alcanzado fue de 75. La
explicación es la siguiente:
* Nuestra barra tiene un valor máximo de 80.
** Sin embargo, el valor de la barra viene indicado por el lado
izquierdo del recuadro interno.
*** Como el recuadro interno tiene un ancho definido a
través de la propiedad visibleAmount, el valor máximo que
la barra puede alcanzar es de:
Valor = (Valor Máximo) – (Ancho del recuadro)
Es decir,
Valor alcanzable = 80 – 5
= 75
- A través del método setValue de la barra de desplazamiento se puede asignar un
valor inicial a la barra. Programe en el constructor de su programa lo
necesario para que la barra de desplazamiento tenga un valor de 65 al
empezar el programa.
CONCLUSIÓN
Las JScrollBars son Barras de Desplazamiento
independientes. Al igual que los JSliders, las JScrollBars tienen un valor
concreto, que puede ser obtenido a través de su método getValue.
Entre las propiedades y características
programables de una barra de desplazamiento, tenemos las siguientes:
-
Valor mínimo (propiedad minimum).
-
Valor máximo (propiedad maximum).
-
Incremento unitario (propiedad unitIncrement).
-
Incremento en bloque (propiedad blockIncrement).
-
Tamaño del recuadro de la barra (propiedad visibleAmount).
:v gracias
ResponderBorrar