如何创建带有两个滑块的 JavaFX 滑块?

javaobject oriented programmingprogramming更新于 2025/10/17 13:00:17

一般来说,滑块是一个显示连续值范围的组件。它包含一个显示数值的轨道。沿着轨道,有一个指向数字的滑块。您可以提供滑块的最大值、最小值和初始值。

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) {
      //实例化 RangeSlider 类
      RangeSlider slider = new RangeSlider(0, 100, 10, 90);
      //设置滑块属性
      slider.setShowTickLabels(true);
      slider.setShowTickMarks(true);
      slider.setMajorTickUnit(25);
      slider.setBlockIncrement(10);
      //VBox 用来排列圆圈和滑块
      VBox vbox = new VBox();
      vbox.setPadding(new Insets(75));
      vbox.setSpacing(150);
      vbox.getChildren().addAll(slider);
      //准备场景
      Scene scene = new Scene(vbox, 600, 200);
      stage.setTitle("Slider Example");
      stage.setScene(scene);
      stage.show();
   }
   public static void main(String args[]){
      launch(args);
   }
}

输出:


相关文章


有用资源