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