📜  JavaFX |进度指示器

📅  最后修改于: 2022-05-13 01:54:20.674000             🧑  作者: Mango

JavaFX |进度指示器

ProgressIndicator 是 JavaFX 包的一部分。它是一个循环控件,用于指示进度,无论是无限的还是有限的。通常与 Task API 一起使用,用于表示后台任务的进度。它通常显示任务的完成量。

类的构造函数是

  1. ProgressIndicator() :创建一个新的中间进度指示器。
  2. ProgressIndicator(double p) :创建具有指定进度的进度指示器

常用方法

methodexplanation
isIndeterminate()Gets the value of the property indeterminate.
getProgress()Gets the value of the property progress.
setProgress(double v)Sets the value of the property progress

下面的程序说明了进度指示器的使用:

创建进度指示器的程序:此程序创建一个由名称pb指示的进度指示器。进度指示器将在场景内创建,而场景又将托管在舞台内。函数setTitle() 用于为舞台提供标题。然后创建一个平铺窗格,在该窗格上调用 addChildren() 方法来附加进度指示器和场景内的按钮。最后调用 show() 方法显示最终结果。

// Java program to illustrate the use of Progress Indicator
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.*;
import javafx.scene.layout.*;
import java.io.*;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.scene.control.Label;
import javafx.stage.Stage;
import java.net.*;
public class progressi extends Application {
  
    static double ii = 0;
  
    // launch the application
    public void start(Stage s) throws Exception
    {
        // set title for the stage
        s.setTitle("creating progressIndicator");
  
        // create a progress indicator
        ProgressIndicator pb = new ProgressIndicator();
  
        // create a tile pane
        TilePane r = new TilePane();
  
        // action event
        EventHandler event = new EventHandler() {
            public void handle(ActionEvent e)
            {
                // set progress to different level of progressindicator
                ii += 0.1;
                pb.setProgress(ii);
            }
  
        };
  
        // creating button
        Button b = new Button("increase");
  
        // set on action
        b.setOnAction(event);
  
        // add button
        r.getChildren().add(pb);
        r.getChildren().add(b);
  
        // create a scene
        Scene sc = new Scene(r, 200, 200);
  
        // set the scene
        s.setScene(sc);
  
        s.show();
    }
  
    public static void main(String args[])
    {
        // launch the application
        launch(args);
    }
}

输出:

注意:以下程序可能无法在在线 IDE 中运行,请使用离线编译器。
参考: https://docs.oracle.com/javase/8/javafx/api/javafx/scene/control/ProgressIndicator.html