Java 使用for循环作为模拟的进度条

Java 使用for循环作为模拟的进度条,java,swing,event-dispatch-thread,jprogressbar,Java,Swing,Event Dispatch Thread,Jprogressbar,我正在尝试使用for循环模拟progressbar进程。整个循环表示100%,因此随着循环的增加,progressbar也应该增加,直到循环完成为止,它将是100% 但是,在netbean UI中,进度条没有按预期显示 int i; progressBar.setStringPainted(true); for (i = 0; i < 99999; i++) { i = i; progressBar.setValue(i);

我正在尝试使用for循环模拟progressbar进程。整个循环表示100%,因此随着循环的增加,progressbar也应该增加,直到循环完成为止,它将是100% 但是,在netbean UI中,进度条没有按预期显示

    int i;
    progressBar.setStringPainted(true);
    for (i = 0; i < 99999; i++) {
        i = i;
        progressBar.setValue(i);
        System.out.println(i);
    }
    progressBar.updateUI();
inti;
progressBar.SetStringPaint(真);
对于(i=0;i<99999;i++){
i=i;
progressBar.setValue(i);
系统输出打印LN(i);
}
progressBar.updateUI();

除非进度条位于它自己的线程中,否则无法执行此操作。然后从另一个线程访问进度条,这是因为在for循环完全在单个线程中完成之前,进度条不会更新。


因此,创建一个包含gui的新线程。

在设置值之后尝试更新
progressBar
UI

    int i;
    progressBar.setStringPainted(true);
    for (i = 0; i < 99999; i++) {
        i = i;
        progressBar.setValue(i);
        progressBar.updateUI();
        System.out.println(i);
    }
inti;
progressBar.SetStringPaint(真);
对于(i=0;i<99999;i++){
i=i;
progressBar.setValue(i);
progressBar.updateUI();
系统输出打印LN(i);
}

您所说的“进度条未按预期显示”是什么意思?你有错误吗?另外,请正确缩进代码,并检查
for
循环中是否有右括号。因为你正在用循环阻塞UI线程,所以在退出任何方法之前,它都不会更新。我希望progressbar会增加请检查它<代码>i=i???我建议您阅读Java教程。