Zuri
Zuri

Reputation: 187

Value into slider thumb in JavaFX

It is possible to display the value of a slider within his thumb in JavaFX like this? Slider with info within his thumb

Upvotes: 4

Views: 1762

Answers (1)

James_D
James_D

Reputation: 209358

You can do this with a lookup: you have to assume the thumb is a Pane (or a subclass thereof):

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.Pane;
import javafx.scene.layout.StackPane;
import javafx.stage.Stage;

public class SliderWithLabeledThumb extends Application {

    @Override
    public void start(Stage primaryStage) {
        Slider slider = new Slider();
        StackPane root = new StackPane(slider);
        root.setPadding(new Insets(20));

        Scene scene = new Scene(root);

        slider.applyCss();
        slider.layout();
        Pane thumb = (Pane) slider.lookup(".thumb");
        Label label = new Label();
        label.textProperty().bind(slider.valueProperty().asString("%.1f"));
        thumb.getChildren().add(label);


        primaryStage.setScene(scene);
        primaryStage.show();

    }

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

enter image description here

Upvotes: 9

Related Questions