0.前言
1.一个例子
-
下面这个例子是官方例子。。运行结果如下
ProgressDialog
final Button Hyperlink12b = new Button("Progress");
Hyperlink12b.setOnAction((ActionEvent e) -> {
Task<Object> worker = new Task<Object>() {
@Override
protected Object call() throws Exception {
for (int i = 0; i <= 100; i++) {
updateProgress(i, 99);
updateMessage("progress: " + i);
System.out.println("progress: " + i);
Thread.sleep(100);
}
return null;
}
};
ProgressDialog dlg = new ProgressDialog(worker);
configureSampleDialog(dlg, "");
Thread th = new Thread(worker);
th.setDaemon(true);
th.start();
});
2. Task介绍
- 一般直接继承,然后实现如下方法即可。其中call方法必须实现。
- 自带Title,Progress等属性以及更新属性的方法
protected void succeeded()
protected void cancelled()
protected void failed()
protected Void call()
//更新进度方法
protected void updateProgress(long var1, long var3)
protected void updateMessage(String message)
3.
4.
5.
参考文章
1.Class Task<V>
2.
3.
网友评论