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); } }