さて、私は以下で説明するように機能するアルゴリズムを持っています。イベント ディスパッチ スレッドの代わりに別のスレッドで再描画する方法を知りたいと思いました。
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()
...それは毎回新しいスレッドを作成するためです。これを論理的に行うにはどうすればよいですか?