|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité régulier
![]() Développeur Java Inscription : juillet 2012 Messages : 36 ![]() |
Bonjour, j'espère que quelqu'un pourra m'aider, car je n'arrive pas a faire disparaître du premier coup l'icone de mon application dans le system Tray.
QUand je quitte l'application, il faut que je passe la souris sur l'icone pour la faire disparaître, elle ne veut pas le faire tout seul, et du coup lorsqu'on s'amuse à le lancer- arrêter , je peux me retrouver avec un system tray rempli d'icone. pourtant j'ai tenté le dispose() de l'image, du shell ... je ne vois pas cdt |
|
|
00
|
|
|
#2 |
![]() ![]() Marc Développeur Java Inscription : mai 2007 Messages : 1 567 ![]() |
Salut,
Tu pourrais nous donner une version minimale (j'insiste sur le minimal) de ton application pour voir ce qui pourrait mal se passer? Notamment la partie concernant la gestion du Shell et des images. Voilà, à+ Gueritarish
__________________
Pas de questions technique par MP, les forums sont là pour ça. Le 5 et 6 juin à Toulouse, la première EclipseCon France ! |
|
|
00
|
|
|
#3 | ||
|
Invité régulier
![]() Développeur Java Inscription : juillet 2012 Messages : 36 ![]() |
mais bien sur voila
Code :
Merci de ton aide |
||
|
|
00
|
|
|
#4 |
![]() ![]() Marc Développeur Java Inscription : mai 2007 Messages : 1 567 ![]() |
Salut,
Tu devrais essayer avec un ImageDescriptor (tu as des méthodes de création statiques, notamment à partir d'une URL). L'intérêt principal est que le cycle de vie de l'image est, du coup, géré par le système. Mais je ne pense pas que le problème soit là. Peut-être que tu ouvres des Thread qui sont mal fermé dans ton programme... En tout cas, ça ressemble pas à une terminaison de programme normale. Pour l'ImageDescriptor, exemple: Code :
ImageDescriptor.createFromURL(ClassLoader.getSystemClassLoader().getClass().getResource("/dent.png")).createImage(); Gueritarish
__________________
Pas de questions technique par MP, les forums sont là pour ça. Le 5 et 6 juin à Toulouse, la première EclipseCon France ! |
|
|
00
|
|
|
#5 |
|
Invité régulier
![]() Développeur Java Inscription : juillet 2012 Messages : 36 ![]() |
Apres essai, effectivement ça ne change rien
je vais investiguer du coté de mauvaise fermeture de Threads merci d'avoir essayé |
|
|
00
|
|
|
#6 |
|
Membre du Club
![]() Inscription : novembre 2006 Messages : 28 ![]() |
Bonjour
tu devrais essayer de "Disposer" les objets tray et item . |
|
|
00
|
|
|
#7 |
![]() ![]() Marc Développeur Java Inscription : mai 2007 Messages : 1 567 ![]() |
Inutile à mon avis (sans vouloir te vexer). Une des règles de SWT: quand on dispose le parent, les enfants sont disposé aussi. Et Tray est un enfant de Display. Quant à TrayItem, c'est un enfant de Tray.
Essaye de vérifier si tu n'as pas défini un démon ou si tu n'as pas un Thread non fermé à la fin de ton programme../
__________________
Pas de questions technique par MP, les forums sont là pour ça. Le 5 et 6 juin à Toulouse, la première EclipseCon France ! |
|
|
00
|
|
|
#8 | ||
![]() ![]() Marc Développeur Java Inscription : mai 2007 Messages : 1 567 ![]() |
Autre question, est-ce que tu fais un System.exit() à la fin de ton programme? Est-ce qu'il est possible qu'il arrive avant que le Display ne soit "disposé"?
J'arrive à reproduire ton cas en faisant: Code :
Le plus important est le fait que si le Display (et donc le TrayItem) n'est pas bien "disposé", il va te rester cette icône dans la zone de notification. Voilà, à+ Gueritarish
__________________
Pas de questions technique par MP, les forums sont là pour ça. Le 5 et 6 juin à Toulouse, la première EclipseCon France ! |
||
|
|
00
|
|
|
#9 |
|
Invité régulier
![]() Développeur Java Inscription : juillet 2012 Messages : 36 ![]() |
Eh non, pas de
Pour expliquer plus en détail, cette partie du code est lancée dans la méthode static main et je lance des Threads de connection Socket et WebSocket, mais je ne vois pas de sortie malpropre de ce coté là .... ou alors pas assez cherché... |
|
|
00
|
|
|
#10 |
|
Membre du Club
![]() Inscription : novembre 2006 Messages : 28 ![]() |
Pour voir si tu as un appel de , redéfini le SecurityManager pour avoir un message (méthode checkExit ).
Regarde aussi si tu n'as pas d'exception lancer par . |
|
|
00
|
|
|
#11 | ||
|
Invité régulier
![]() Développeur Java Inscription : juillet 2012 Messages : 36 ![]() |
j'ai décidé de regarder finalement ma procedure d'exit de mon application et c'est ça qui ne marchait pas ...
Puis à force d'utiliser la console d'eclipse, je faisais un exit forcé. Bref, j'ai utilisé un boolean afin de poser une condition d’arrêt à ma lecture d’évènements. Code :
|
||
|
|
10
|
Copyright © 2000-2013 - www.developpez.com