Problème timer thread et swt
Bonjour à tous j'ai fait une application en SWT qui affiche des photos et des vidéos en boucle(avec JMF), il y a aussi un timer qui fait clignoter un label en même temps donc pas mal de chose.
Mon problème c'est que j'ai du mal à géré toute ces choses et donc ça créer des bugs. Quand mes images changent ( avec une petite transition en augmentant progressivement l'alpha du canvas ;) ), le timer clignotant est bloqué ou/et ma vidéo se boque si elle doit chargé un autre vidéo ( sinon ça tourne avec un peu de freeze ).
Le problème c'est que plusieurs timer ou thread doivent accéder au même moment au "thread gérant SWT" :aie: ( Enfin je crois que ça viens de là ) afin d'effectuer des taches sur les composant notament des redimentions setBounds() ou setVisible pour clignoter.
Pour accerder à ces méthode j'utilise :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
| if (displayUse.isDisposed())
return;
displayUse.syncExec(new Runnable() // ou asyncExec j'ai cherché aussi de se coté mais sans succes
{
public void run()
{
//par exemple clignoter
if (GestionMultimedia.this.labelPrix.getVisible()) GestionMultimedia.this.label.setVisible(false);
else
GestionMultimedia.this.label.setVisible(true);
}
}); |
Est-ce qu'il serait possible de gérer l'ordre d'execution ? Par exemple timer clignotant > Video > thread image , mon timer clignoterais en permanance , ma video se chargerait entre les images.
En cherchant la solution il faudrait utiliser les méthode notify wait, est-ce la bonne solution ? Et si oui comment l'intégré car j'ai du mal à voir comment !
Merci de me laisser tout conseils ou solutions ! :D