IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Agents de placement/Fenêtres Java Discussion :

Windows : panique après une mise en veille


Sujet :

Agents de placement/Fenêtres Java

  1. #1
    Membre émérite
    Avatar de gifffftane
    Profil pro
    Inscrit en
    Février 2007
    Messages
    2 354
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire (Rhône Alpes)

    Informations forums :
    Inscription : Février 2007
    Messages : 2 354
    Points : 2 582
    Points
    2 582
    Par défaut Windows : panique après une mise en veille
    Bonjour,

    J'ai une application swing qui gère plusieurs fenêtres dans une même JVM. Tout se passe bien, sauf sur les postes windows (au moins XP et Vista) : lors du réveil d'une mise en veille, les fenêtres se mettent à clignoter frénétiquement. Je n'ai jamais vu ça sur Linux (il faut dire que mon pauvre poste ne se met pas souvent en veille )

    Quelques traces m'ont permis de voir que, au réveil, quelque chose (pas moi) appelle l'activation de la fenêtre à l'infini, et donc l'appel des écouteurs sur windowActivated. Sur cet appel, que je crois être celui du lancement de l'appli (j'avoue ne jamais m'être préocuupé des mises en veille), je règle le focus de la fenêtre (je ne sais pas si c'est une bonne pratique, à la reflexion ? ).

    Qu'en pensez-vous ? Quelle est la règle pour les évènements lors d'une sortie de mise en veille ? Y a-t-il des cas particuliers pour windows ?

  2. #2
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Points : 48 807
    Points
    48 807
    Par défaut
    non je pense pas que ce soit une bonne pratique, puisque l'évènement windowsactivated se déclenche justement quand le fenetre recois le focus -> j'en conclue qu'il se passe ceci:

    screensaver se désactive
    frame1 recois le focus, -> windowactivated empilé
    frame2 recois immédiatement après le focus (ca m'étonnerais pas que windows fasse tourner une fois le focus sans raison), -> deuxième windowactivated empilé
    frame1 traite son windowactivated et demande le focus -> troisième windows activated empilé
    frame2 traite son windowactivated et demande le focus -> quartième windows activated empilé

    etc

  3. #3
    Membre émérite
    Avatar de gifffftane
    Profil pro
    Inscrit en
    Février 2007
    Messages
    2 354
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire (Rhône Alpes)

    Informations forums :
    Inscription : Février 2007
    Messages : 2 354
    Points : 2 582
    Points
    2 582
    Par défaut
    Bin apparemment il semble que windowActivated impliquant Je reçois le focus est pas aussi évident que je le croyais au départ : au sortir du screensaver, mes fenêtres reçoivent le windowActivated même si elles n'ont pas le focus.

    Ensuite, quand je dis que je règle le focus, il s'agit de dire quel est le composant qui a le focus dans ma fenêtre... dans l'hypothèse ou windowActivated = focus, bien sûr.

    Mais peut être as-tu raison tout de même dans ta description de l'emballement : si, sur la foi d'un windowActivated je commande le focus sur un composant, cela peut faire mal si la fenêtre n'a pas vraiment le focus et si en plus de ça il y a beaucoup de fenêtres concernées...

    Mais alors je fais quoi, je suis un peu paumé dans ces histoires de focus, activated, screensaver ? il faut que, lorsque ma fenêtre reçoit le focus, vraiment le focus et pas je ne sais quel activated, alors ce focus soit donné à tel composant de la fenêtre...

  4. #4
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Points : 48 807
    Points
    48 807
    Par défaut
    a mon avis, oui, regarder si la fenetre a vraiment le focus
    ou ne pas faire l'opération plus de 3 fois dans la même seconde? :p

Discussions similaires

  1. Windows 8.1 plante après la mise en veille
    Par sisike431 dans le forum Windows 8
    Réponses: 10
    Dernier message: 20/04/2015, 09h58
  2. Réponses: 4
    Dernier message: 05/03/2014, 10h55
  3. Réponses: 2
    Dernier message: 18/03/2013, 17h39
  4. Réallumage écran après une mise en veille
    Par arzew dans le forum Windows XP
    Réponses: 2
    Dernier message: 27/11/2006, 14h16
  5. Réponses: 15
    Dernier message: 22/04/2006, 14h59

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo