我有一个swing应用程序,它存储一个对象列表.当用户点击按钮时
我想对列表中的每个对象执行两个操作,然后一旦完成,将结果绘制在JPanel中.我一直在尝试使用SwingWorker,Callable和Runnable进行处理,但无论我做什么,在处理列表时(可能需要几分钟,因为它是IO绑定的),GUI被锁定.
我有一种感觉,这可能是我调用线程或其他东西的方式,还是可能与图形函数有关?这不是线程,因为它非常快.
我必须按顺序完成两个处理阶段,那么确保第二个阶段在第一个阶段等待的最佳方法是什么?我已经使用了join(),然后
while(x.isAlive())
{
Thread.sleep(1000);
}
Run Code Online (Sandbox Code Playgroud)
尝试确保这一点,但我担心这也可能是我的问题的原因.
我一直在寻找一些指针,但由于我找不到任何东西,我确信我在这里做了些蠢事.