Bonjour à tous!
Voilà un problème qui me fait m'arracher les cheveux depuis quelques temps...
J'explique :
Pour une application portable (système de caisse), j'ai du créer une de barre des taches qui contient, entre autre, une horloge.
Cette horloge extends JPanel et contient quelques JLabels et un timer implémenté de la manière suivante :
Cette horloge est donc ajoutée dans ma taskbar (un autre objet maison) qui lui meme est ajouté à un écran.
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 public class Horloge extends JPanel { ... private Timer timer; public Horloge(int lang){ super(); ... timer = new Timer(1000, new ClockListener()); timer.start(); ... } /** * Evenement Timer, change l'heure chaque seconde */ class ClockListener implements ActionListener { public void actionPerformed(ActionEvent e) { ... } } public Timer getTimer() { return timer; } public void setTimer(Timer timer) { this.timer = timer; } }
Or, je viens de faire tourner MemoryAnalyzerTool sur mon projet pour voir ou j'en suis car j'ai l'impression d'avoir une fuite de mémoire à quelque part. Là mat me dit que j'ai plusieurs instances de mon objet horloge.
Comment faire pour etre sûr que mon horloge soit arretée correctement au changement d'écran? Nouvel écran = nouvelle taskbar => nouvelle horloge
Merci d'avance pour votre aide!
Seb
**edit : résolu car j'appelais simplement mal mon timer.stop.... erreur de débutant mais il faut quand meme ne pas l'oublier!
Partager