0

Java SWT でポップアップを実装する必要があります。これらのポップアップは、100 ミリ秒のアニメーションでポップアップします。100 ミリ秒が境界であり、それより下では、ユーザーはアクションがすぐに発生したと認識します。

問題は、このアニメーションに独自のスレッドを使用する必要があるかどうかです。ネイティブポップアップがどのように実装されているか、誰か知っていますか?

例: UI スレッドのアニメーション ステップ間でスリープを呼び出したり、余分なスレッドでスリープを抽出したりできます。

for(int i=0; i<height; i+=10){
   //change height here
   Thread.sleep(10); //makes UI unresposible for 10 ms
}

問題は、このような短い時間、UI を無責任にすることは問題ないのでしょうか、それとも追加のスレッドで実行する必要があるのでしょうか?

4

2 に答える 2

1

あなたの質問に答えるために..私はあなたのアプリケーションのニーズに本当に依存しています。UIスレッドで長時間実行されるプロセスを実行しないことは、常に本当に良いアドバイスです(常に「長時間」が何であるかによって異なります)。

とにかく、GUI を 10 ミリ秒停止することはありませんが、全体で 100 ミリ秒停止します。SWT の GUI はreadAndDispatch()メソッドによって駆動されるため、新しい呼び出しが行われるまで、GUI は凍結状態になります (そのため、最初display.syncExec()に anddisplayAsyncExec()メソッドを使用する必要があります)。

于 2013-02-13T11:05:43.257 に答える