我得到了 JavaFX 主线程,在那里我创建了新的线程来扩展任务并排序和替换条。一切都很好,但我想在替换时进行一些延迟(例如 100 毫秒)以显示逐步排序,也许还有动画。问题是,当我使用 Thread.sleep() 或 TranslateTransition() 时,它只是将所有延迟毫秒加在一起,形成一个在更改条形之前发生的大延迟。如何使延迟在 UI 线程中正常工作?
在主类中:
Sorting sorting = new Sorting();
sortThread = new Thread(sorting, "sort");
sortThread.start();
sortThread.join();
Run Code Online (Sandbox Code Playgroud)
我的班级排序扩展了任务
public class Sorting extends Task<Void> {
//some stuff here
@Override
protected Void call() throws Exception {
taskThread = new Thread(counter, "time");
taskThread.setDaemon(true);
taskThread.start();
int n = array_tmp.length;
int temp;
for (int i = 0; i < n; i++) {
for (int j = 1; j < (n - i); j++) {
if (array_tmp[j - 1] …Run Code Online (Sandbox Code Playgroud)