Bonjour,
je voudrai écrire un programme java avec un timer. En l'utilisant, je voudrai qu'à chaque seconde, je puisse augmenter une variable int de 1 par exemple mais je ne sais pas comment faire. Pourriez-vous m'aider svp !?
Bonjour,
je voudrai écrire un programme java avec un timer. En l'utilisant, je voudrai qu'à chaque seconde, je puisse augmenter une variable int de 1 par exemple mais je ne sais pas comment faire. Pourriez-vous m'aider svp !?
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 import java.util.Timer; import java.util.TimerTask; public class TestTimer { public static void main(String[] args) { Timer timer = new Timer(); Tache tache = new Tache(); timer.schedule(tache, 0, 1000); } } class Tache extends TimerTask { int i = 0; public void run() { System.out.println("i = " + i++); } }
Et si je veux que ce soit au click sur un bouton que le timer se mette en marche, faut-il que je mette l'actionListener dans le public void run() {} ?
Tu peux utiliser la méthode schedule de ton Timer dans l'actionListener de ton bouton.
Donc j'écris timer.schedule (tache,0,1000); dans l'actionlistener et si je ne veux pas écrire la valeur de l'entier je laisse public void run() {} ?
Dans ton run, tu mets ce que tu veux que ton timer fasse.
Le println est un exemple; tu y fais bien ce que tu veux.
Juste une dernière petite question (promis^^) je peux écrire la classe Tache directement après la classe TestTimer ou je dois l'écrire dans un autre fichier ?
Tu peux évidemment l'écrire dans un autre fichier. J'ai fait cela par souci d'économie mais ce n'est pas forcément le plus propre.
J'ai fait le Timer de cette manière :
Seulement je n'arrive pas à créer un timer dans une autre classe à partir de celle que je viens de créer... Que faut-il écrire pour lancer ce timer lorsque j'appuie sur un JButton ?!
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 import java.lang.Thread; import javax.swing.*; import java.awt.*; import java.lang.Object.*; public class Compteur1 implements Runnable { private int i; private JPanel panneau = new JPanel (); public Compteur1 (String nom) { } public void run () { for (i=0;i<256;i++) {this.sleep(100); panneau.setBackground (new Color (0,i,0)); if (i==255) {for (i=255;i>-1;i--) {this.sleep(100); panneau.setBackground (new Color (0,i,0));} } } } }
Partager