特定の時間を使用して、いくつかの長方形を次々に描画したい。私は thread.sleep() メソッドを使用しますが、スレッドの動作を直接停止し、再開しません。
質問する
630 次
6 に答える
2
代わりに、ワーカー スレッドでThread.sleep(long millis)を使用します。
于 2012-10-10T08:41:44.813 に答える
2
スリープのミリ秒数を指定します。
Thread.sleep(2000); // two seconds
を処理する必要があることに注意してくださいInterruptedException
。
于 2012-10-10T08:41:53.360 に答える
2
スリープを別のスレッドに配置する必要があります。GUI スレッドをスリープ状態にすると、GUI がフリーズします。
編集:悪いことに、代わりにこれを補足コメントとしてここに残します。
于 2012-10-10T08:42:00.867 に答える
1
Timer
およびTimeTask
クラスを使用できます。
この例を参照してください。
于 2012-10-10T08:42:31.503 に答える
0
各描画を個別の でインスタンス化する必要がありますthread
。thread
スリープの for every ループを個別に作成します。
このように、 のスレッドlooping
と のスレッドを分離しますdrawing
。したがって、凍結を取り除きます。
public class RunTest implements Runnable{
@Override
public void run() {
// codes for drawing
}
}
そしてあなたのメインで:
try {
while (true) {
Thread t = new Thread(new RunTest());
t.start();
}
} catch (InterruptedException iex) {}
これにより、描画用のスレッドが無限に作成されます。このループを変更するだけです。
スレッドについてはこちらをご覧ください。
于 2012-10-10T08:46:04.783 に答える
0
Java executorsを見てください。これらは一定時間実行できます。次に、各エグゼキュータ ユニット内に長方形を描くことができます。( EDTで)このAPI ドキュメントには、上部に役立つ例があります。
于 2012-10-10T08:42:31.033 に答える