滑块是JavaFX中的一个控件,用于显示连续或离散的有效数值选择范围,并允许用户与控件交互。滑块呈现为带有旋钮的垂直或水平条,用户可以滑动旋钮以指示所需的值。滑块也可以有记号和标签来指示沿条的间隔。 滑块的三个基本变量是 闵 , 最大值 和 价值 .该值应始终是最小值和最大值定义范围内的数字。 闵 应该总是小于 最大值 . 闵 默认为0,而 最大值 默认为100。 类的构造函数:
null
- 滑块(): 创建默认滑块实例。
- 滑块(双最小值、双最大值、双值): 使用指定的滑块最小值、最大值和当前值构造滑块控件。
常用方法:
方法 | 描述 |
---|---|
调整值(双倍新值) | 调整值以匹配新值。 |
减量 | 以最大值为界,按块增量递减该值。 |
getBlockIncrement() | 获取属性blockIncrement的值。 |
getMax() | 获取属性max的值。 |
getMin() | 获取属性min的值。 |
getMajorTickUnit() | 获取属性majorTickUnit的值。 |
getMinorTickCount() | 获取属性minorTickCount的值。 |
getValue() | 获取属性值的值。 |
增量() | 按块增量递增值,以最大值为界。 |
增量(双倍值) | 设置属性blockIncrement的值。 |
setMajorTickUnit(双值) | 设置属性majorTickUnit的值。 |
setMax(双值) | 设置属性max的值。 |
setMin(双值) | 设置属性min的值。 |
setMinorTickCount(int值) | 设置属性minorTickCount的值。 |
设置值(双值) | 设置属性值的值。 |
SetValueChangeing(布尔值) | 设置属性值的值。 |
setShowTickMarks(布尔值) | 设置属性showTickMarks的值。 |
setShowTickLabels(布尔值) | 设置属性showTickLabels的值。 |
isShowTickLabels() | 获取属性showTickLabels的值。 |
isShowTickMarks() | 获取属性showTickMarks的值。 |
下面的程序演示了Slider类的使用:
- 实现Slider类的简单Java程序: 在这个程序中,我们将创建一个组和场景。将场景添加到帧中。然后,创建一个滑块并将其添加到帧中。现在启动应用程序。
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); } } |
输出:
- 使用记号和记号标签实现Slider类的Java程序: 在这个程序中,我们将创建一个组和场景。将场景添加到帧中。创建一个具有指定属性的滑块 闵 , 最大值 和 价值 .启用标记和标签。设置 少校 使用指定的值。将滑块添加到帧并显示它。
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); } } |
输出:
- 使用ChangeListener实现Slider类的Java程序: 在这个项目中,我们将创建一个 标签 并设置文本的颜色。创建一个滑块并设置其最小值、最大值和值。启用标记标签和标记。设置属性的值 块增量 . setBlockIncrement() 方法定义用户单击轨迹时拇指移动的距离。添加ChangeListener,在移动滑块时,将显示在标签中的亮度变化值。创建一个VBox并添加到框架中。创建场景并添加到帧中。最后,启动应用程序。
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); } } |
输出:
注: 上述程序可能无法在联机IDE中运行。请使用脱机编译器。 参考: https://docs.oracle.com/javase/8/javafx/api/javafx/scene/control/Slider.html
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END