进度指示器(ProgressIndicator)以动态更改饼图的形式显示JavaFX中的操作进度。以下代码显示如何使用不确定值创建ProgressIndicator。

  1. import javafx.application.Application;
  2. import javafx.scene.Group;
  3. import javafx.scene.Scene;
  4. import javafx.scene.control.ProgressIndicator;
  5. import javafx.stage.Stage;
  6. public class Main extends Application {
  7. @Override
  8. public void start(Stage stage) {
  9. Group root = new Group();
  10. Scene scene = new Scene(root, 260, 80);
  11. stage.setScene(scene);
  12. Group g = new Group();
  13. ProgressIndicator p1 = new ProgressIndicator();
  14. g.getChildren().add(p1);
  15. scene.setRoot(g);
  16. stage.show();
  17. }
  18. public static void main(String[] args) {
  19. launch(args);
  20. }
  21. }

image.png

创建ProgressIndicator

以下代码通过传递progress值来创建ProgressIndicator。

  1. ProgressIndicator pi = new ProgressIndicator(0.6);

image.png
可以使用空构造函数创建没有参数的进度指示器。然后可以使用setProgress()方法分配值。
如果无法确定进度,可以在不确定模式下设置进度控制,直到确定任务的长度。
以下代码显示如何创建一个完成25%的ProgressIndicator。

  1. import javafx.application.Application;
  2. import javafx.scene.Group;
  3. import javafx.scene.Scene;
  4. import javafx.scene.control.ProgressIndicator;
  5. import javafx.stage.Stage;
  6. public class Main extends Application {
  7. @Override
  8. public void start(Stage stage) {
  9. Group root = new Group();
  10. Scene scene = new Scene(root, 260, 80);
  11. stage.setScene(scene);
  12. Group g = new Group();
  13. ProgressIndicator p1 = new ProgressIndicator();
  14. p1.setProgress(0.25F);
  15. g.getChildren().add(p1);
  16. scene.setRoot(g);
  17. stage.show();
  18. }
  19. public static void main(String[] args) {
  20. launch(args);
  21. }
  22. }

image.png