我在数据库中有一个表包含图像路径
在查询结果的while
循环内,我将图像添加到JScrollPane
while (rs.next()) {///loop on the image paths from database
//// i added here the images to JScrollPane
}
但框架一直处于冻结状态,直到JScrollPane
中设置的所有图像都显示给用户
我需要的是:
逐个显示JScrollPane
中的图像并在不冻结框架的情况下排序?!
注意:我使用Thread
并解决了问题,但排序
答案 0 :(得分:5)
使用SwingWorker执行该任务。粗略地说:
在doInBackground
方法中,您将从数据库中提取图片,并通过在publish
方法中调用doInBackground
方法发布这些图片。覆盖process
方法并从那里更新JScrollPane
。因为它在EDT上运行,应该在其中创建和更新Swing组件。
答案 1 :(得分:1)
您应该在另一个线程中处理耗时的循环。如果你不这样做,它将冻结GUI直到完成。
This链接包含以最基本的形式执行此操作的方法。