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

AWT/Swing Java Discussion :

2 windowClosed et 0 windowClosing


Sujet :

AWT/Swing Java

  1. #1
    Membre Expert
    Avatar de ®om
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 815
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 815
    Par défaut 2 windowClosed et 0 windowClosing
    Lorsque le splashscreen (qui est un JDialog) se ferme (par un appel à dispose()), 2 évènements windowClosed sont lancés, et aucun windowClosing...

    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
            final boolean[] splashOk = new boolean[1];
            try {
                SwingUtilities.invokeAndWait(new Runnable() {
     
                    public void run() {
                        try {
                            LoadingSplashScreen splash = LoadingSplashScreen.showSplashScreen(5000);
                            splashOk[0] = true;
                            ModuleLoader.getModuleLoader().addLoadingListener(splash);
                            splash.addWindowListener(new WindowAdapter() {
     
                                @Override public void windowClosed(WindowEvent e) {
                                    System.out.println("closed");
                                    instance = new MyFreeTV();
                                }
     
                                @Override public void windowClosing(WindowEvent e) {
                                    System.out.println("closing");
                                }
     
                            });
                        } catch(SplashScreenException e) {
                            Logger.getLogger("MyFreeTV").warning("Le splashscreen n'est pas disponible.");
                        }
                    }
                });
            } catch(InvocationTargetException ite) {} catch(InterruptedException ie) {}
     
            ModuleLoader.getModuleLoader().load();
     
            /* Si on n'a pas pu charger le splashscreen, on lance quand même MyFreeTV. */
            if(!splashOk[0])
                instance = new MyFreeTV();
    Résultat:
    Une idée?

  2. #2
    Membre chevronné Avatar de xixi31
    Inscrit en
    Juin 2005
    Messages
    423
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : Juin 2005
    Messages : 423
    Par défaut
    lu,

    a première vue, je penserais que le windowClosing n'est appelé que lorsque l'utilisateur agit sur la croix d'une frame pour la fermer. Dans ton cas, tu appelles le dispose toi-même donc, ca me parait pas étonnant que tu ne passes jamais dans windowClosing.

  3. #3
    Membre Expert
    Avatar de ®om
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 815
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 815
    Par défaut
    OK, mais le 2x windowClosed?

  4. #4
    Expert confirmé
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Par défaut
    Bon pour passer au travers du problème du windowClosed il te sufit d'elever le listener avec un maFenetre.removeListener(this) dans le windowClosed de ton WindowListener

  5. #5
    Membre Expert
    Avatar de ®om
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 815
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 815
    Par défaut
    Citation Envoyé par sinok
    Bon pour passer au travers du problème du windowClosed il te sufit d'elever le listener avec un maFenetre.removeListener(this) dans le windowClosed de ton WindowListener
    Ouais, ça marche mais c'est du bidouillage... Pourquoi est-il appelé 2x?

Discussions similaires

  1. windowClosing sur [netbeans]
    Par mr-nameless dans le forum Débuter
    Réponses: 3
    Dernier message: 10/10/2009, 20h38
  2. Réponses: 2
    Dernier message: 13/05/2006, 13h02
  3. windowClosing probleme
    Par fievel dans le forum AWT/Swing
    Réponses: 5
    Dernier message: 27/03/2006, 16h58
  4. [windowClosing] Ne pas fermer une application
    Par GLDavid dans le forum AWT/Swing
    Réponses: 12
    Dernier message: 23/03/2006, 17h27

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