好的,我有一个如下所述的算法,我想知道如何在单独的线程而不是事件调度线程中重绘:
Input an ArrayList of 2 Dimensional Point objects.
while(each point object has not been a starting point)
LOOP
Arbitrarily choose a starting point
Find the shortest path through all nodes
Call repaint() on the JPanel that displays this path.
END LOOP
我的问题是,如何设置另一个线程,以便每次计算最短路径时,它将路径发送到重新绘制 JPanel 的线程?我想这样做是因为我觉得我在浪费时间 repainting() 并且这可以使该方法更快。
我猜我不能简单地说:
new Thread() {
void run() {
myJPane.repaint();
}
}.start()
...因为那会每次都创建一个新线程。我如何在逻辑上做到这一点?