我想在运行任务之前和之后更新状态栏标签的一些文本。 这是示例代码:
label.setText("please wait...");
Task<Void> task = new Task<Void>() {
@Override
protected Void call() throws Exception {
veryLongOperation();
return null;
}
};
Thread thread = new Thread(task);
thread.start();
while (thread.isAlive()) {
System.out.println("waiting...");
Thread.currentThread().sleep(10);
}
System.out.println("work done!");
label.setText("work done!");
使用此示例无法更改标签的文本值...如何更新文本?
答案 0 :(得分:0)
您是否曾尝试覆盖the Task#suceeded
method,如下所示:
Task<Void> task = new Task<Void>() {
@Override
protected Void call() throws Exception {
veryLongOperation();
return null;
}
@Override
protected void succeeded() {
System.out.println("work done!");
label.setText("work done!");
}
};
new Thread(task).start();