Saltar la navegación

Deslizador

Un deslizador es un control que consiste en una marca que se puede mover entre ciertos límites y que sirve para elegir valores en un rango dado, ya sea continuo o discreto. Se le puede indicar que muestre marcas para mostrar valores intermedios del rango a elegir.

Un deslizador pertenece a la clase javafx.scene.control.Slider.

Podemos indicar su valor máximo y mínimo, si queremos que muestre marcas principales y secundarias y etiquetas para dichas marcas, etc.

La siguiente imagen muestra un deslizador entre 0 y 100 cuyo valor actual es 50. Tiene marcas principales cada 50 unidades y tiene 4 marcas secundarias entre cada marca principal (lo que equivaldría a un valor de 10 unidades). Además muestra etiquetas para las marcas principales.

El código utilizado para crear esta interfaz es el siguiente:

package javafx.controles;

import javafx.application.Application;
import javafx.geometry.Insets;
import javafx.scene.Scene;
import javafx.scene.control.Label;
import javafx.scene.control.Slider;
import javafx.scene.layout.HBox;
import javafx.scene.text.Font;
import javafx.stage.Stage;

public class Deslizadores extends Application {

	@Override
	public void start(Stage escenarioPrincipal) {
		try {
			HBox raiz = new HBox();
			raiz.setPadding(new Insets(40));
			raiz.setSpacing(10);
			
			Label lbElige = new Label("Elige el porcentaje:");
			lbElige.setFont(Font.font(20));
			
			Slider porcentaje = new Slider();
			porcentaje.setMin(0);
			porcentaje.setMax(100);
			porcentaje.setValue(50);
			porcentaje.setShowTickLabels(true);
			porcentaje.setShowTickMarks(true);
			porcentaje.setMajorTickUnit(50);
			porcentaje.setMinorTickCount(4);
			porcentaje.setBlockIncrement(10);
			porcentaje.setSnapToTicks(true);
			
			raiz.getChildren().addAll(lbElige, porcentaje);
			
			Scene escena = new Scene(raiz, 430, 100);
			escenarioPrincipal.setTitle("Deslizadores");
			escenarioPrincipal.setScene(escena);
			escenarioPrincipal.show();
		} catch(Exception e) {
			e.printStackTrace();
		}
	}

	public static void main(String[] args) {
		launch(args);
	}

}