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"( 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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 !![]()
Partager