JavaFX 将滑块设置为进度条的示例

javafxobject oriented programmingprogramming更新于 2025/6/26 3:52:17

ProgressBar − 进度条是指示事件(一系列步骤)进展的指示器。您可以通过实例化 javafx.scene.control.ProgressBar 类 来创建进度条。

Slider − JavaFX 提供了一个名为 Slider 的类,它表示一个显示连续值范围的滑块组件。它包含一个用于显示数值的轨道。沿着轨道,有一个指向数字的滑块。您可以提供滑块的最大值、最小值和初始值。

示例

在下面的示例中,我们将滑块设置为 ProgressBar。

import javafx.application.Application;
import javafx.beans.value.ChangeListener;
import javafx.beans.value.ObservableValue;
import javafx.geometry.Insets;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.control.ProgressBar;
import javafx.scene.control.ProgressIndicator;
import javafx.scene.control.Slider;
import javafx.scene.layout.HBox;
import javafx.scene.paint.Color;
import javafx.stage.Stage;
public class ProgressBar_Slider extends Application {
   public void start(Stage stage) {
      //创建进度条
      ProgressBar progress = new ProgressBar(0.1);
      //创建进度指示器
      ProgressIndicator indicator = new ProgressIndicator(0.1);
      //设置进度条的大小
      progress.setPrefSize(200, 30);
      //创建滑块
      Slider slider= new Slider(0, 1, 0);
      slider.setShowTickLabels(true);
      slider.setShowTickMarks(true);
      slider.setMajorTickUnit(0.1);
      slider.setBlockIncrement(0.1);
      slider.valueProperty().addListener(new ChangeListener() {
          public void changed(ObservableValue <?extends Number>observable, Number
         oldValue, Number newValue){
            //设置旋转角度
            progress.setProgress((double) newValue);
            //设置指示器的值
            indicator.setProgress((double) newValue);
         }
      });
      //创建一个水平盒子来容纳进度条和进度指示器
      HBox hbox = new HBox(50);
      hbox.setPadding(new Insets(75, 150, 50, 60));
      hbox.getChildren().addAll(slider, progress, indicator);
      //设置舞台
      Group root = new Group(hbox);
      Scene scene = new Scene(root, 595, 200, Color.BEIGE);
      stage.setTitle("Progress Bar");
      stage.setScene(scene);
      stage.show();
   }
   public static void main(String args[]){
      launch(args);
   }
}

输出


相关文章