Nous utilisons une classe suivante pour montrer une barre de progression dans notre application Java: TEXTPROGRESSBAR P>
Malheureusement, nous avons des problèmes avec scintillement lors de l'utilisation de celle-ci (Win 7, Java 7). Avez-vous des conseils sur la façon dont nous pouvons éviter cela? Pouvons-nous en quelque sorte le reposer moins fréquemment, utiliser un double tampon ou autre chose? Toute astuce est grandement appréciée! P>
4 Réponses :
Tout d'abord, essayez de passer Si vous n'avez pas de contrôle sur le parent, vous aurez probablement besoin d'envelopper votre commande dans un autre composite qui a activé ce drapeau. P> swt.double_buffered code> pour le paramètre de style sur la construction. Si cela ne permet pas d'améliorer la situation, passez à la chaîne mère et ajoutez
swt.double_buffered code> à leur appel de constructeur à la place. P>
Merci, j'ai essayé ça mais malheureusement ça n'a pas fonctionné. J'ai essayé de l'ajouter au constructeur de TextProgressBar et j'ai également essayé le composite parent.
Qu'est-ce qui déclenche les redessins que vous voyez? Si vous pouvez identifier une zone où il est juste d'être appelé trop souvent trop souvent, vous pouvez envelopper cela avec un appel à .SetReDraw (FALSE) sur votre contrôle, faites le travail qui provoque le redessinement rapide normalement, puis appelez .SeReRraw (True). à la fin.
Vous pouvez essayer de retarder le temps avec thread.sleep () fort>. Cela a fonctionné pour moi lorsque j'avais le même problème lorsque j'avais le même problème avec Jtales forts> p>
Veuillez noter que je parle de SWT. Ne pas balancer.
Essayez swot.no_background code> d'abord, et s'il n'utilise pas
swt.double_buffered code>.
N'utilisez pas les deux en même temps, car il n'ya pas de point.
Voir le Discussion P>
Disclaimer: Je sais que la question pose spécifiquement de la section J'ai eu un problème avec le scintillement du widget code> texte code>, que je n'ai pu résoudre ni en utilisant le style Enfin, j'ai pu résoudre ce problème en modifiant simplement le type de widget du texte code> sur J'espère que cela aidera quelqu'un qui a été attiré par le titre général de cette question. P> textProgressbar code>. Cependant, je pense que beaucoup de points de vue de cette question ne sont pas limités à ce widget. Em> p>
swt.double_buffered code>, ni en l'enveloppant avec le < Code> composite code>, ni en appliquant une combinaison d'entre eux. P>
styledtext code>. Il n'y a pas de scintillement, même sans le
swt.double_buffered code> style et sans le
composite code> wrapper. P>
Tout d'abord, avez-vous vu la note dans le Javadoc? "Restriction: Cette classe n'est pas destinée à être sous-classée par les clients." Vous devriez définitivement d'abord essayer
swt.double_buffered code>, mais il n'y a pas de garantie pour votre cas.