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

Composants Java Discussion :

JFileChooser qui freeze et écoute de System.in


Sujet :

Composants Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé Avatar de Lady
    Femme Profil pro
    Développeur Java
    Inscrit en
    Mars 2003
    Messages
    678
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Santé

    Informations forums :
    Inscription : Mars 2003
    Messages : 678
    Par défaut JFileChooser qui freeze et écoute de System.in
    Bonjour....

    j'ai un problème (... bizarre non ?)

    J'ai l'occasion dans mon projet actuel de faire plein d'appels au JFileChooser pour choisir des fichiers ...
    Jusque là tout va bien ...
    Sauf que recemment il m'ai pris l'envie de pouvoir communiquer avec mon programme via l'entrée standard (System.in)
    Du coup: création d'un Thread d'ecoute sur ce System.in du genre :
    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
     
    class InputStreamListener extends Thread {
     
    		public void run(){
    			BufferedReader systemInput = new BufferedReader(new InputStreamReader(System.in));
    			String input;
    			try {
     
    				while ((input = systemInput.readLine()) != null) {
                                   // fait des trucs ici ...
                                    }
    			} catch (IOException e1) {
    				e1.printStackTrace();
    			}
     
    		}
    	}
    avec à l'initialisation de mon programme un :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    new InputStreamListener().start();
    Sauf que du coup bah dès que j'appel un JFileChooser mon appli freeze (si vous voulez les details ca freeze quel pars à l'initialisation du JFileChooser (je suis descendue jusqu'à un invoke dans ShellFolder))
    J'ai vérifier: j'invalide mon petit start sur mon InputStreamListener tout va bien, j'ai le malheur de démarrer et tout va mal...

    Donc si quelqu'un à un solution ou au moins une explication que je me couche moins bête ce soir ....


    Merci D'avance !!

  2. #2
    Membre actif Avatar de arafat877
    Inscrit en
    Septembre 2010
    Messages
    46
    Détails du profil
    Informations forums :
    Inscription : Septembre 2010
    Messages : 46
    Par défaut Solution
    Salut !
    tu doit savoir que quand tu lance ton application Swing trois thread sont créer, a savoir :

    1) le "main application thread" : lance ton application par le biais de public static void main
    2) le "toolkit thread" : recoit les événements du système d'exploitation, par exemple un clic de souris, et de les transmettre au dernier thread,
    3) event dispatching thread" ou EDT : Ce dernier est extrêmement important car il répartit les événements reçus vers les composants concernés et se charge d'invoquer les méthodes d'affichage.

    Et dans ton cas tu est entraint de chrager ce que t'as à charger(qui normalement consomme du temps) dans ton thread main, ce qui freeze ton application.

    Je te conseil de mettre tout code susseptible de freezer ton application dans le code suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    SwingUtilities.invokeLater(new Runnable() {
        @Override
         public void run() {
             // met ton code ici
             // dans ton cas
             new InputStreamListener().start();
         }
    }
    Bon chance !

Discussions similaires

  1. Problème JFileChooser et freeze
    Par Lady dans le forum AWT/Swing
    Réponses: 14
    Dernier message: 16/03/2007, 09h37
  2. Portable qui Freeze pendant 5 sec puis ok!
    Par pony dans le forum Ordinateurs
    Réponses: 19
    Dernier message: 03/03/2007, 22h52
  3. Disque dur qui freeze le système
    Par Celelibi dans le forum Composants
    Réponses: 4
    Dernier message: 22/02/2007, 14h16
  4. fenetre d'une appli openGl-MFC qui freeze !
    Par jcloupgarou dans le forum Développement 2D, 3D et Jeux
    Réponses: 12
    Dernier message: 28/07/2006, 11h19
  5. [wxPython][ProgressDialog] Appel de l'appli qui freeze
    Par Guigui_ dans le forum wxPython
    Réponses: 1
    Dernier message: 08/12/2005, 18h25

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