domingo, 21 de febrero de 2016

009.- Uso de Slider (Deslizador) - Java y NetBeans


A continuación explico cómo usar los objetos Slider (Deslizador):

La clase JSlider permite crear objetos como el siguiente:



Estos elementos tienen un pequeño botón que se puede arrastrar a la derecha o izquierda. Según la posición del pequeño botón, el JSlider tendrá un valor específico.
El JSlider se puede configurar para que muestre los distintos valores que puede tomar:



También se puede configurar de forma que los valores mínimo y máximo sean distintos:



El valor que tiene un JSlider es el valor al que apunta el pequeño botón del JSlider. Por ejemplo en la imagen anterior el JSlider tiene un valor de 65.

A continuación se muestra las características más interesantes de los JSlider y como configurarlas:
  1. Crea un nuevo proyecto.
  2. Dentro de Source Package crea un Java Package y llamalo paqueteInicial.
  3. Dentro de paqueteInicial crea un JFrame Form y nombralo VentanaInicial.
  4. Dentro de VentanaInicial añade un JSLider y nombralo sldDeslizador.



  1. Inserta una etiqueta, ponle borde y nómbrale etiValorDeslizador.

  1. El diseño de la ventana será el siguiente:



  1. Los JSlider tienen un valor mínimo y un valor máximo. El valor mínimo es el valor que tiene cuando el pequeño botón está pegado a la izquierda, mientras que el valor máximo es el valor que tiene cuando el botón pequeño está pegado a la derecha.

El valor mínimo y máximo de los JSlider se pueden cambiar. Busca las propiedades maximum y minimum del JSlider y asigna los siguientes valores:

maximum: 80
minimum: 40



  1. Para asignar un valor inicial al JSlider hay que utilizar su propiedad value. Busca esta propiedad y cambia el valor a 66. Vea donde se ubica el pequeño botón del JSlider.



  1. Podemos mejorar el diseño del JSlider definiendo unas divisiones (medidas). Por ejemplo, haremos que cada 5 unidades aparezca una división. Para ello use la propiedad majorTickSpacing y cámbiela a 5.



  1. Al cambiar la propiedad anterior no produce ningún cambio en el JSlider. Para que las divisiones se vean, es necesario activar también la propiedad paintTicks. Esta propiedad hará que aparezcan las divisiones en el JSlider:




  1. Se puede seguir mejorando la presentación del JSlider al hacer que se muestre el valor de cada división. Para esto debemos activar la propiedad paintLabels.



  1. Ejecutemos el proyecto y observemos el funcionamiento del Deslizador:



  1. Lo que se busca es que cuando el usuario arrastre el deslizador, en la etiqueta aparezca el valor respectivo. Para esto tendremos que codificar en el evento stateChanged del JSlider.

El evento stateChanged ocurre cuando el usuario arrastra el botón pequeño del deslizador.

Programaremos la siguiente línea de código:

                            etiValorDeslizador.setText("El valor del deslizador es: " + sldDeslizador.getValue());


  1. Ejecutemos el proyecto y probemos arrastrando el pequeño botón del deslizador.

  1. Expliquemos el código escrito en el evento stateChanged del Slider:

15.1.   El método getValue del deslizador nos devuelve el valor que tiene actualmente el deslizador.
15.2.   Este valor es concatenado a la cadena “El valor del deslizador es: ” y es mostrado en la etiqueta a través del método setText.




  1. Se explica a continuación otras propiedades interesantes de los Deslizadores que podemos ir probando en NetBeans:

orientation
Permite cambiar la orientación del JSlider en horizontal o vertical.

minorTickSpacing
Permite asignar subdivisiones a las divisiones ya asignadas con la propiedad majorTickSpacing. Prueba por ejemplo a asignar un 2 a esta propiedad y ejecuta el programa para ver las divisiones del JSlider.

snapToTicks
Cuando esta propiedad está activada, no podrás colocar el deslizador entre dos divisiones. Es decir, el deslizador siempre estará situado sobre una de las divisiones. Prueba a activarla.

paintTrack
Esta propiedad permite pintar o no la línea sobre la que se desliza el JSlider. Pruebemos ejecutando el proyecto luego de activar y desactivar esta propiedad.



CONCLUSIÓN

Los JSliders son objetos “deslizadores”. Permiten elegir un valor arrastrando un pequeño botón de izquierda a derecha y viceversa.

El valor de los Deslizadores puede ser obtenido a través de su método getValue().

Para programar el cambio (el arrastre) del Slider, se tiene que codificar en el evento stateChanged.



3 comentarios:

  1. muy buena la argumentacion .....y si quiero utilizar el sliders en color osea a medida que se vaya mobiendo el pynterito cambiara los colores

    ResponderBorrar
    Respuestas
    1. A ver Loana, para lograr lo que quieres haz lo siguiente:

      - Coloca un JSlider y una JLabel en el formulario.

      - Nombra al JSlider sldColorRojo y al JLabel etiColorRojo.

      - Escribe el siguiente código en el evento stateChanged del JSlider:

      int valorRojo = sldColorRojo.getValue();
      etiColorRojo.setBackground(new java.awt.Color(valorRojo, 0, 0));

      - Y listo.

      - Posteriormente puedes ir agregando otro JSlider para el color Verde y otro para el color Azul.

      Borrar
    2. No olvides de activar la propiedad opaque de la JLabel en la ventana de propiedades.

      Borrar