Bonjour,
J'essaye de faire un chronomètre en java. Mon problème c'est une fois que j'appuie sur le bouton start, impossible d'appuyer sur stop ou reset, dans les actionperformed() j'ai fait un while(True) pour le bouton start.
Est ce pour ça que ca bloque le reste?
Comment je peux faire?
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
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47 import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.*; import java.awt.*; public class LesBoutons extends JPanel implements ActionListener{ private JButton start = new JButton("Start"); private JButton reset = new JButton("Reset"); private JButton stop = new JButton("Stop"); private Cadre ardoise; boolean compt=false; public LesBoutons(){ ardoise = new Cadre(); setLayout(new BorderLayout(5, 5)); JPanel lesBoutons = new JPanel(); lesBoutons.add(start); lesBoutons.add(stop); lesBoutons.add(reset); add(lesBoutons, BorderLayout.NORTH); add(ardoise, BorderLayout.CENTER); start.addActionListener(this); stop.addActionListener(this); reset.addActionListener(this); } public void actionPerformed(ActionEvent e) { if (e.getSource().equals(start)) { compt=true; while(true){ // ardoise.run(); System.out.println("demarre"); ardoise.run(); } } else if (e.getSource() == reset){ compt=false; System.out.println("recommencer");} //ardoise.arret(); else if (e.getSource() == stop){ compt=false; System.out.println("stop");} //ardoise.reset(); ardoise.repaint(); } }
Partager