JavaFX在执行流程时不确定进度条

时间:2015-06-22 12:34:25

标签: java javafx progress-bar javafx-8

我正在尝试向我的数据库插入一个表,但此过程需要几分钟。

我希望在我的应用程序尝试插入时有一个不确定的进度条。为了有进度条,我想使用JavaFX,但我不知道如何实现它,直到插入数据库进程结束才显示它。

1 个答案:

答案 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控件。

相关问题