7

Java アプリケーションで進行状況バーを表示するために、次のクラスを使用しています: TextProgressBar

残念ながら、それを使用するとちらつきの問題が発生します (Win 7、Java 7)。それを避けるためのヒントはありますか?ダブルバッファリングなどを使用して、再描画の頻度を減らすことはできますか? どんなヒントでも大歓迎です!

4

4 に答える 4

6

SWT.DOUBLE_BUFFEREDまず、構築時にスタイル パラメータを渡してみてください。それでも状況が改善されない場合は、親チェーンを上に移動し、SWT.DOUBLE_BUFFERED代わりにコンストラクター呼び出しに追加します。

親を制御できない場合は、このフラグが有効になっている別の Composite でコントロールをラップする必要があります。

于 2013-05-30T03:33:28.233 に答える
1

免責事項: 質問が について具体的に尋ねていることは知っていTextProgressBarます。ただし、この質問に対する多くの見解は、このウィジェットに限定されていないと思います。

Textウィジェットのちらつきに問題がありましたが、SWT.DOUBLE_BUFFEREDスタイルを使用したり、 でラップしたり、Compositeそれらの組み合わせを適用したりしても解決できませんでした。

最後に、ウィジェット タイプを からTextに変更するだけで、この問題を解決できましたStyledTextSWT.DOUBLE_BUFFEREDスタイルなし、Compositeラッパーなしでもちらつきはありません。

これが、この質問の幅広いタイトルに惹かれた人に役立つことを願っています.

于 2014-08-13T14:03:02.403 に答える
1

SWT.NO_BACKGROUND最初に試して、そうでない場合は使用してSWT.DOUBLE_BUFFEREDください。意味がないので、両方を同時に使用しないでください。ディスカッションを見る

于 2014-05-06T14:56:54.967 に答える
-3

you can try delaying the time with thread.sleep(). It worked for me when i had the same problem when working with jTables

于 2013-06-03T18:12:26.873 に答える