Bonjour,
J'ai un lecteur de musique, et mon JSlider qui doit avancer en suivant la musique (classique quoi).
Alors j'ai une boucle while qui tourne tout le long de la chanson :
Cette boucle appelle donc toutes les secondes la méthode setValeur, qui appelle elle-même la méthode setValue de JSlider à partir d'un Thread :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 while (!player.isComplete()) { slider.setValeur(player.getPosition()); try { Thread.sleep(1000); } catch (Exception e) { e.printStackTrace(); } }
(Je mets que le code nécessaire)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 public class Curseur extends JPanel { public void setValeur(int i) { SliderThread pt = new SliderThread(i); pt.start(); } class SliderThread extends Thread { int val; public SliderThread (int i) { val = i; } public void run() { slider1.setValue(val); } } }
Le truc c'est que ça marche aléatoirement, parfois ça se bloque même en plein milieu etc...
Quelqu'un aurait une méthode efficace, ou pourrait trouver l'erreur dans mon code?
Merci d'avance!
Partager