我有一个用于存储对象列表的swing应用程序。当用户点击一个按钮时,我想对列表中的每个对象执行两个操作,然后一旦完成,就将结果绘制在JPanel中。我一直在尝试SwingWorker,Callable & Runnable可以执行处理,但无论我在做什么,处理列表(可能需要几分钟,因为它是IO绑定),GUI都会被锁定。防止在后台任务期间锁定Swing GUI
我有一种感觉,这可能是我打电话给线程的方式,或者它可能是做图形功能?这不是线程,因为它非常快。
我也必须按顺序完成两个处理阶段,那么确保第二个处理阶段等待的最好方法是什么?我使用join()方法,然后
while(x.isAlive())
{
Thread.sleep(1000);
}
尝试,并确保这一点,但我担心这可能是我的问题的原因了。
我一直在寻找一些指针,但因为我找不到任何我相信我在这里做一些愚蠢的事情。
如果您包含一些代码来显示您如何使用SwingWorker,可能会有所帮助。 – 2009-06-02 18:00:20
同意;向我们展示有问题的代码。 – Rob 2009-06-03 23:27:39