如何创建具有两个拇指的 JavaFX 滑块?


通常,滑块是一个显示连续值范围的组件。此范围中包含一个跟踪,其上显示数值。在跟踪器上,有一个指向数字的拇指。你可以提供滑块的最大值、最小值和初始值。

JavaFX 提供的滑块仅包含一个拇指,如果你想创建一个包含两个拇指的滑块,你需要依赖名为 org.controlsfx.control 的外部库。

以下是此库的 maven 依赖项 -

<dependency>
   <groupId>org.controlsfx</groupId>
   <artifactId>controlsfx</artifactId>
   <version>11.0.1</version>
</dependency>

此包的**RangeSlider** 类是**JavaFXSlider**,但具有两个拇指。因此,要使用它,请实例化该类,添加所需的属性,并将其添加到 Node 对象。

示例

import javafx.application.Application;
import javafx.geometry.Insets;
import javafx.scene.Scene;
import javafx.scene.layout.VBox;
import javafx.stage.Stage;
import org.controlsfx.control.RangeSlider;
public class SliderTwoThumbs extends Application {
   public void start(Stage stage) {
      //Instantiating the RangeSlider class
      RangeSlider slider = new RangeSlider(0, 100, 10, 90);
      //Setting the slider properties
      slider.setShowTickLabels(true);
      slider.setShowTickMarks(true);
      slider.setMajorTickUnit(25);
      slider.setBlockIncrement(10);
      //VBox to arrange circle and the slider
      VBox vbox = new VBox();
      vbox.setPadding(new Insets(75));
      vbox.setSpacing(150);
      vbox.getChildren().addAll(slider);
      //Preparing the scene
      Scene scene = new Scene(vbox, 600, 200);
      stage.setTitle("Slider Example");
      stage.setScene(scene);
      stage.show();
   }
   public static void main(String args[]){
      launch(args);
   }
}

输出

更新于:2020 年 4 月 16 日

931 次浏览

开启您的 职业生涯

通过完成本课程获得认证

开始
广告