JavaFX |滑块类

滑块是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
喜欢就支持一下吧
点赞14 分享