gpt4 book ai didi

javafx,如何在打印到文本区域时显示进度条

转载 作者:行者123 更新时间:2023-12-01 08:59:49 32 4
gpt4 key购买 nike

我是“编程方面的新手,尝试学习。我的“应用程序”运行bat测试文件,并将所有结果打印在文本区域中,它运行良好。但我现在的目标是呈现进度条,在打印到文本区域时显示进度。我该怎么做 ?我读过一些指南并尝试了一些方法,但它对我不起作用

这是运行 bat 文件的按钮背后的方法

public void RunTestScrip() throws IOException {

Process p = Runtime.getRuntime().exec(path);

final InputStream stream = p.getInputStream();
new Thread(new Runnable() {
public void run() {
BufferedReader reader = null;
try {
reader = new BufferedReader(new InputStreamReader(stream));
String line = null;
while ((line = reader.readLine()) != null) {
console.appendText("\n" + line);
progressBar.progressProperty().bind(RunTestScrip()); // dont know how to use it right in my code

}
} catch (Exception e) {
// TODO
} finally {
if (reader != null) {
try {
reader.close();
} catch (IOException e) {
// ignore
}
}
}
}
}).start();

最佳答案

我认为该脚本无法更新 javafx ProgressBar。最简单的方法是创建您自己的进度规则(可能基于您当前附加到控制台的输出)。

这是一个不错的 tutorial关于如何在 javafx 中创建工作进度条。希望您能够找到一种方法来相应地更新进度。

编辑:

我添加了一个小示例,说明可以在教程中找到的内容,以防提供的链接中断。

// initialization of a progressBar with 'indeterminate progress'
ProgressBar pb = new ProgressBar(-1.0D);

// to set the current state of a progress bar you simply do the following
pb.setProgress(current_progress);

请注意,进度是 0.0D 到 1.0D 之间的值(例如百分比)。值为 -1.0D 表示进度不确定。

关于javafx,如何在打印到文本区域时显示进度条,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41773518/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com