JavaFX | Clase deslizante

Un control deslizante es un control en JavaFX que se utiliza para mostrar un rango continuo o discreto de opciones numéricas válidas y permite al usuario interactuar con el control. Un control deslizante se representa como una barra vertical u horizontal con una perilla que el usuario puede deslizar para indicar el valor deseado. Un control deslizante también puede tener marcas y etiquetas para indicar los intervalos a lo largo de la barra. 
Las tres variables fundamentales del control deslizante son min , max y value . El valor siempre debe ser un número dentro del rango definido por min y max. min siempre debe ser menor que max . min por defecto es 0, mientras que max por defecto es 100.
Constructores de la clase:  

  • Slider(): crea una instancia de Slider predeterminada.
  • Control deslizante (doble mínimo, doble máximo, doble valor): construye un control deslizante con los valores de valor mínimo, máximo y actual del control deslizante especificados.

Métodos comúnmente utilizados:

Método Descripción
ajustarValor(doble nuevoValor) Ajusta el valor para que coincida con newValue.
decremento() Disminuye el valor por blockIncrement, limitado por max.
obtenerIncrementoBloque() Obtiene el valor de la propiedad blockIncrement.
obtenerMax() Obtiene el valor de la propiedad max.
obtenerMin() Obtiene el valor de la propiedad min.
getMajorTickUnit() Obtiene el valor de la propiedad majorTickUnit.
getMinorTickCount() Obtiene el valor de la propiedad minorTickCount.
obtenerValor() Obtiene el valor del valor de la propiedad.
incremento() Incrementa el valor por blockIncrement, limitado por max.
setBlockIncrement(doble valor) Establece el valor de la propiedad blockIncrement.
setMajorTickUnit(doble valor) Establece el valor de la propiedad majorTickUnit.
setMax(doble valor) Establece el valor de la propiedad max.
setMin(doble valor) Establece el valor de la propiedad min.
setMinorTickCount(valor int) Establece el valor de la propiedad minorTickCount.
setValue(doble valor) Establece el valor del valor de la propiedad.
setValueChanging(valor booleano) Establece el valor de la propiedad valueChanging.
setShowTickMarks(valor booleano) Establece el valor de la propiedad showTickMarks.
setShowTickLabels(valor booleano) Establece el valor de la propiedad showTickLabels.
esMostrarTickLabels() Obtiene el valor de la propiedad showTickLabels.
esMostrarmarcas() Obtiene el valor de la propiedad showTickMarks.

Los siguientes programas ilustran el uso de la clase Slider: 

  • Programa Java simple para implementar la Clase Slider: En este programa crearemos un grupo y una Escena. Agregue escena al marco. Luego, cree un control deslizante y agréguelo al marco. Ahora inicie la aplicación.

Java

// Java program to implement the Slider Class
import javafx.application.Application;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.control.Slider;
import javafx.stage.Stage;
 
public class SliderExample extends Application {
 
    public void start(Stage stage)
    {
 
        // creating group
        Group root = new Group();
        Scene scene = new Scene(root, 600, 400);
 
        // set Scene to the stage
        stage.setScene(scene);
 
        // set title for the frame
        stage.setTitle("Slider Sample");
 
        // create slider
        Slider slider = new Slider();
 
        // add slider to the frame
        root.getChildren().add(slider);
 
        stage.show();
    }
 
    // Main Method
    public static void main(String[] args)
    {
 
        // launch the application
        launch(args);
    }
}

Producción:

  • Programa Java para implementar la clase Slider usando TickMarks y TickLabels: En este programa crearemos un grupo y una escena. Agrega la escena al marco. Cree un control deslizante con min , max y value especificados . Habilite las Marcas y Etiquetas. Establezca MajorTickUnit con el valor especificado. Agregue el control deslizante al marco y muéstrelo.

Java

// Java program to implement Slider class
// by using TickMarks and TickLabels
import javafx.application.Application;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.control.Slider;
import javafx.stage.Stage;
 
public class SliderExample extends Application {
 
    public void start(Stage stage)
    {
        Group root = new Group();
 
        // create a Scene
        Scene scene = new Scene(root, 600, 400);
 
        // add Scene to the frame
        stage.setScene(scene);
 
        // set title of the frame
        stage.setTitle("Slider Sample");
 
        // Creates a slider
        Slider slider = new Slider(0, 1, 0.5);
 
        // enable the marks
        slider.setShowTickMarks(true);
 
        // enable the Labels
        slider.setShowTickLabels(true);
 
        // set Major tick unit
        slider.setMajorTickUnit(0.25f);
 
        // sets the value of the property
        // blockIncrement
        slider.setBlockIncrement(0.1f);
 
        root.getChildren().add(slider);
 
        // display
        stage.show();
    }
 
    // Main Method
    public static void main(String[] args)
    {
 
        // Launch the application
        launch(args);
    }
}

Producción :

  • Programa Java para implementar Slider Class usando ChangeListener: en este programa, crearemos una etiqueta y estableceremos el color del texto. Cree un control deslizante y establezca su mínimo, máximo y valor. Habilite TickLabels y TickMarks. Establezca el valor de la propiedad blockIncrement . El método setBlockIncrement() define la distancia que se mueve el pulgar cuando un usuario hace clic en la pista. Agregue ChangeListener, al mover el control deslizante, el valor de los cambios de brillo se mostrará en la etiqueta. Cree un VBox y agréguelo al marco. Crear escena y al marco. Finalmente, inicie la aplicación.

Java

// Java program to implement Slider Class
// using ChangeListener
import javafx.application.Application;
import javafx.beans.value.ChangeListener;
import javafx.beans.value.ObservableValue;
import javafx.geometry.Insets;
import javafx.scene.Scene;
import javafx.scene.control.Label;
import javafx.scene.control.Slider;
import javafx.scene.layout.VBox;
import javafx.scene.paint.Color;
import javafx.stage.Stage;
 
public class SliderExample extends Application {
 
    public void start(Stage stage)
    {
 
        // create label
        Label label = new Label("Select the Brightness");
        Label l = new Label(" ");
 
        // set the color of the text
        l.setTextFill(Color.BLACK);
 
        // create slider
        Slider slider = new Slider();
 
        // set the value of property min,
        // max and value
        slider.setMin(0);
        slider.setMax(100);
        slider.setValue(80);
 
        // enable TickLabels and Tick Marks
        slider.setShowTickLabels(true);
        slider.setShowTickMarks(true);
 
        slider.setBlockIncrement(10);
 
        // Adding Listener to value property.
        slider.valueProperty().addListener(
             new ChangeListener<Number>() {
 
            public void changed(ObservableValue <? extends Number >
                      observable, Number oldValue, Number newValue)
            {
 
                l.setText("value: " + newValue);
            }
        });
 
        // create a VBox
        VBox root = new VBox();
 
        root.setPadding(new Insets(20));
        root.setSpacing(10);
        root.getChildren().addAll(label, slider, l);
 
        stage.setTitle("Slider Sample");
 
        // create Scene and add to the frame
        Scene scene = new Scene(root, 350, 200);
        stage.setScene(scene);
        stage.show();
    }
 
    // Main Method
    public static void main(String[] args)
    {
 
        // Launch Application
        Application.launch(args);
    }
}

Producción:

Nota: Es posible que los programas anteriores no se ejecuten en un IDE en línea. Utilice un compilador fuera de línea.
Referencia: https://docs.oracle.com/javase/8/javafx/api/javafx/scene/control/Slider.html

Publicación traducida automáticamente

Artículo escrito por ukasp y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *