我正在尝试向我的数据库插入一个表,但此过程需要几分钟。
我希望在我的应用程序尝试插入时有一个不确定的进度条。为了有进度条,我想使用JavaFX,但我不知道如何实现它,直到插入数据库进程结束才显示它。
答案 0 :(得分:6)
JavaFX任务可能就是这样。它们提供了一种在后台执行长时间运行任务的方法,而不会冻结用户界面。
以下是您可能尝试的示例:
var data = [{
timestamp: '1434569340',
close: '127.6100',
high: '127.7600',
low: '127.6050',
open: '127.7200',
volume: '337000'
}, {
timestamp: '1434569641',
close: '127.5700',
high: '127.6701',
low: '127.5100',
open: '127.6100',
volume: '328200'
}];
var newData = {};
data.forEach(function (el) {
var i;
for (i in el) {
newData[i[0]] = newData[i[0]] || [];
newData[i[0]].push(el[i]);
}
});
如果您知道任务将包含多少部分,此版本将更新任务完成。如果没有,请注释掉更新进度的行中的行,您将获得一个不确定的进度条。
请注意,当长任务正在运行时,您仍然可以增加计数器。另请注意,您可以使用此程序启动多个长时间运行的任务。如果那不是你想要的,你需要稍微调整一下UI控件。