- Trending Categories
Data Structure
Networking
RDBMS
Operating System
Java
iOS
HTML
CSS
Android
Python
C Programming
C++
C#
MongoDB
MySQL
Javascript
PHP
Physics
Chemistry
Biology
Mathematics
English
Economics
Psychology
Social Studies
Fashion Studies
Legal Studies
- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who
How to set action to a slider using JavaFX?
JavaFX provides a class known as Slider, this represents a slider component which displays continuous range of values. This contains a track on which the number values are displayed. Along the track there is a thumb pointing to the numbers. You can provide the maximum, minimum and initial values of the slider.
Setting action to the slider
The property of the slider class named value, represents the current value of the slider, the valueProperty() returns a property object representing the current value of the slider. You can set action when the value is changed, by adding listener to this property, using the addListener() method.
Example
In the following JavaFX example, we have created a slider and a circle.
We have instantiated the Translate (transformation) class and linked the slider new value to the translate value along the x axis and added the translate transform to the circle.
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.Slider; import javafx.scene.layout.VBox; import javafx.scene.paint.Color; import javafx.scene.shape.Circle; import javafx.scene.transform.Translate; import javafx.stage.Stage; public class SliderAction extends Application { @Override public void start(Stage stage) { //Drawing a Rectangle Circle circle = new Circle(50); circle.setFill(Color.DARKRED); circle.setStroke(Color.BLUEVIOLET); //Setting the slider Slider slider = new Slider(0, 500, 0); slider.setShowTickLabels(true); slider.setShowTickMarks(true); slider.setMajorTickUnit(100); slider.setBlockIncrement(50); //Setting the width of the slider slider.setMaxWidth(300); //Creating the translation transformation Translate translate = new Translate(); //Linking the transformation to the slider slider.valueProperty().addListener(new ChangeListener<Number>() { public void changed(ObservableValue <?extends Number>observable, Number oldValue, Number newValue){ translate.setX((double) newValue); translate.setY(50); translate.setZ(100); } }); //Adding the transformation to the circle circle.getTransforms().add(translate); //VBox to arrange circle and the slider VBox vbox = new VBox(85); vbox.setPadding(new Insets(10)); vbox.getChildren().addAll(circle, slider); vbox.setStyle("-fx-background-color: BEIGE"); //Preparing the scene Scene scene = new Scene(vbox, 600, 250); stage.setTitle("Slider Example"); stage.setScene(scene); stage.show(); } public static void main(String args[]){ launch(args); } }
Output
On executing the above program, it will generate a JavaFX window with a slider and a circle on it. If you move the slider the circle will slide along the x-axis.
- Related Articles
- How to set action to a RadioButton in JavaFX?
- How to create a JavaFX slider?
- JavaFX example to set slider to the progress bar
- JavaFX example to set action listeners to a CheckBox
- JavaFX example to set action to the "exit" MenuItem
- Example to set action listeners (behavior) to a ChoiceBox in JavaFX
- How to create JavaFX slider with two thumbs?
- How to add the slider to a menu item in JavaFX?
- How to change the orientation of a slider in JavaFX?
- How to change the dimensions of a slider in JavaFX?
- JavaFX example to set action (behavior) to the menu item
- How to set mnemonics in a label using JavaFX?
- How to add an image to a button (action) in JavaFX?
- How to add action listeners to ContextMenu in JavaFX?
- How to set a background image to a JavaFX chart?
