JavaFX |进度条
ProgressBar 是 JavaFX 包的一部分。它是 ProgressIndicator 的特化,表示为水平条。进度条通常显示任务的完成量。
ProgressBar 类的构造函数是:
- ProgressBar() :创建一个新的中间进度条。
- ProgressBar(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 |
下面的程序说明了 ProgressBar:
该程序创建一个由名称pb指示的进度条。进度指示器将在场景中创建,而场景又将托管在舞台(这是顶级 JavaFX 容器)中。函数setTitle() 用于为舞台提供标题。然后创建一个平铺窗格,在该窗格上调用 addChildren() 方法以附加进度指示器和场景内的按钮,以及代码中 (200, 200) 指定的分辨率。最后调用 show() 方法显示最终结果。
// Java program to illustrate the use of progressbar
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 progress extends Application {
static double ii = 0;
// launch the application
public void start(Stage s) throws Exception
{
// set title for the stage
s.setTitle("creating progressbar");
// create a progressbar
ProgressBar pb = new ProgressBar();
// 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 progressbar
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/ProgressBar.html