Cómo utilizar controles deslizantes en java

Java le permite utilizar controles deslizantes en su programación. LA deslizador es un componente que permite al usuario elegir un valor de un rango establecido (por ejemplo, de 0 a 50) moviendo un mando. Un cursor es una manera conveniente de obtener entrada numérica desde el usuario cuando la entrada se encuentra dentro de un rango establecido de valores.

imagen0.jpg

Para crear un control deslizante, se utiliza el JSlider clase. Echa un vistazo a sus métodos y constructores.

ConstructorDescripción
JSlider ()Crea un nuevo slider. Los valores mínimos y máximos por defecto0 y 100, yel valor inicial se establece en 50.
JSlider (int min, int max)Crea un nuevo slider con el maximumvalues ​​mínimo y especificado. El valor inicial está a medio camino entre el andmaximum mínimo.
JSlider (int min, int max, intValue)Crea un nuevo slider con el mínimo, máximo, valores andinitial especificados.
JSlider (orientación int, int min, int max, int value)Crea un nuevo slider con el mínimo, máximo, valores andinitial especificados. La orientación puede ser JSlider.HORIZONTAL o JSlider.VERTICAL.
ProcedimientoDescripción
void addChangeListener (ChangeListenerlistener)Añade una ChangeListener escuchar eventos forchange.
int getValue ()Obtiene el valor indicado por la posición actual de theknob.
anular setFont ()Establece el tipo de letra del texto asociado con el control deslizante.
void setInvert (valor booleano)Si cierto, invierte el slider'sdirection de manera que el valor máximo es de la izquierda y la MinimumValue está a la derecha.
void setMajorTickSpacing (intValue)Establece el intervalo para las marcas de graduación. Las marcas aren'tshown menos setPaintTicks (true) se llama.
void setMinimum (int valor)Establece el valor mínimo.
void setMaximum (int valor)Establece el valor máximo.
void setMinorTickSpacing (intValue)Establece el intervalo de marcas de graduación de menor importancia. Las marcas aren'tshown menos setPaintTicks (true) se llama.
setOrientation (int orientación)Establece la orientación. Los valores permitidos son JSlider.HORIZONTAL y JSlider.VERTICAL.
setPaintLabels void (booleanValue)Si cierto, muestra las etiquetas de garrapatas.
setSnapToTicks void (booleanValue)Si cierto, redondea el valor devuelto byThe getValue método para la tickmark más cercano.
void setToolTipTextEstablece el texto sobre herramientas que se muestra si el usuario (texto String) descansa el puntero del ratón sobre theslider por unos momentos.

Para crear un control deslizante escueto, simplemente llame al JSlider constructor. Usted puede crear un control deslizante que oscila entre 0 a 100 Me gusta esto:

slider = new JSlider () -

Aquí el deslizador variable se declara como una variable de clase del tipo JSlider.

Si desea especificar los valores mínimo y máximo, utilice este constructor:

slider = new JSlider (0, 50) -

El control deslizante permite al usuario elegir un valor de 0 a 50. La posición inicial de la perilla es 25, a medio camino entre los valores máximo y mínimo.

Para establecer un valor inicial diferente, utilice este constructor:

deslizador = new JSlider (0, 0, 50) -

Aquí los rangos slider de 0 a 50, y el valor inicial es 0.

Generalmente, usted desea agregar al menos algunos adornos para el control deslizante para hacerlo más usable. El control deslizante que se ve tiene valores mínimos y máximos tic-marca con etiquetas visibles. Aquí está el código usado para crearlo:

slider = new JSlider (0, 50, 0)-slider.setMajorTickSpacing(10)-slider.setMinorTickSpacing(1)-slider.setPaintTicks(true)-slider.setPaintLabels(true)-panel1.add(slider)-

Nota: Aunque configure los mayores y menores valores de tick-espaciado, las marcas de graduación no aparecerán en pantalla a menos que llame setPaintTicks con el parámetro de conjunto de cierto. los setPaintLabels método muestra las etiquetas junto con las marcas de graduación, y el setSnapToTicks método redondea el valor a la marca de la señal más cercana.

Para obtener el valor de la corredera, se utiliza el getValue método. He aquí un método llamado del oyente de acción adjunto al botón OK:

public void buttonOKClick () {int level = slider.getValue () - JOptionPane.showMessageDialog (slider ". Recuerde, esto es para la posteridad n" + "? Dime ... ¿cómo te sientes", "Nivel" + nivel, JOptionPane.INFORMATION_MESSAGE) -}

Aquí se muestra un cuadro de mensaje cuando el usuario hace clic en el botón Aceptar. La configuración actual de la deslizador componente se recupera y se almacena en una int variable llamada nivel, que luego se utiliza para crear el título para el cuadro de mensaje.

También puede añadir un detector de eventos que reacciona cada vez que el usuario cambia el valor del control deslizante. Para ello, se utiliza el addChangeListener método. El parámetro debe ser un objeto que implementa la ChangeListener interfaz, que define un único método denominado stateChanged.

Porque el ChangeListener interfaz tiene un solo método, se califica como una interfaz funcional y se puede utilizar en una expresión Lambda. En la mayoría de los casos, la forma más fácil de implementar un oyente cambio es crear un método que contiene el código que desee ejecutar cuando los cambios de control deslizante, entonces pasan a través de una expresión lambda para el control del deslizador addChangeListener método.

He aquí un ejemplo de un método que se puede llamar cuando se cambia el estado de un control deslizante:

public void sliderChanged () {if (slider.getValue () == 50) {JOptionPane.showMessageDialog (slider, "No No 50!", "La Máquina", JOptionPane.WARNING_MESSAGE) -}}

Para llamar a este método en respuesta a un cambio en el estado del control deslizante, llame a los de slider addChangeListener con un método de una expresión Lambda:

slider.addChangeListener (e -> sliderChanged ()) -

Entonces el stateChanged método es llamado cada vez que el usuario mueve el mando a otra posición. Se comprueba el valor de la corredera y muestra un cuadro de mensaje si el usuario ha avanzado el control deslizante hasta el final a 50.




» » » » Cómo utilizar controles deslizantes en java