JavaFX |进度指示器
ProgressIndicator 是 JavaFX 包的一部分。它是一个循环控件,用于指示进度,无论是无限的还是有限的。通常与 Task API 一起使用,用于表示后台任务的进度。它通常显示任务的完成量。
类的构造函数是
- ProgressIndicator() :创建一个新的中间进度指示器。
- ProgressIndicator(double p) :创建具有指定进度的进度指示器
常用方法
method | explanation |
---|---|
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