gpt4 book ai didi

java - 仅在程序在 Java 中执行完毕后才能看到输出

转载 作者:行者123 更新时间:2023-11-30 09:18:30 27 4
gpt4 key购买 nike

我正在为一些生物过程构建一个模拟器。我使用了一个包含大量元素的 ArrayList。我在循环中调用了一些 3-4 个函数(这需要相当长的时间来返回结果)来操作和操纵这个 ArrayList。在每个循环结束时,我在 jTable 中显示了这次迭代的结果。我面临的问题是,在每个循环结束时,我应该看到添加了一行,但只有在程序完成执行后我才能看到整个输出(即 Whole )。

以下代码有助于可视化我的代码架构

ArrayList<String> s = new ArrayList<String>();
for(int i=1;i<=1000;i++){
process1(s);
process2(s);
.
.
.
processn(s);
displaySummaryOfArraylistInJTableForThisIteration(s);
}

最佳答案

假设您每次都在 displaySummaryOfArraylistInJTableForThisIteration(s); 中设置新的表模型,您仍然必须为此过程使用线程,以便每次您在表,而不是在过程结束时,检查 concurrency Swing 不定

所以你正在寻找这样的东西

private class YourTask implements Runnable {

@Override
public void run() {
// refresh the table data

}
}

YourTask task = new YourTask();
Thread newThread = new Thread(task);
newThread.start();

首先您需要定义一个实现Runnable 的类,您将覆盖 run 方法以便此方法可以执行您想要的行为,我建议您将您的类声明为内部类,这样您就可以利用类全局字段。之后,您将创建一个 YourClass 实例,并从 Thread 中创建另一个实例,将实例从 YourClass 发送到构造函数。最后只需使用 Thread 类中的 start(); 方法。概念解释可以访问this .

关于java - 仅在程序在 Java 中执行完毕后才能看到输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18446112/

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