begin process at 2010 02 09 23:09:34
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive Java

 > 

Archives

 > 

Au secours

 > 

Problème avec actionperformed


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Problème avec actionperformed

jeudi 8 décembre 2005 à 20:46:15 | Problème avec actionperformed

cyberval

Bonjour à tous et à toutes !!
Voilà mon probléme.
J'ai une appli ou se trouve un bouton (dont l'actionCommand est "details") écouté par un actionlistener dont le code se trouve ci-dessous :

public void actionPerformed(ActionEvent e) {
        JFrame j;
        if(e.getActionCommand().equals("details")) {
            
// Ceci creer une JFrame de chargement avec un message "Attendez svp" et l'affiche (setVisible(true))
             j = cmd.afficherCommande();
            
             //
Ceci est un traitement long, dans mon appli ce sont des deplacements de fichiers et des acces BD assez longs
             for(long i=0;i<100000000;i++){
                 System.out.println(i);
             }

            //
Une fois le traitement termine on ferme la fenetre        
            j.setVisible(false);
        }

Le probléme est le suivant : la fenetre se cree, s'affiche mais reste grisée jusqu'à ce que le traitement long soit effectué et la ferme ensuite... mais le blem c'est qu'elle est grisée, rien ne s'affiche a l'interieur.... et j'arrive pas a trouver la soluce.....

Merci!!
jeudi 8 décembre 2005 à 22:06:48 | Re : Problème avec actionperformed

Twinuts

Membre Club Administrateur CodeS-SourceS
Salut,

Tu peux utiliser un timer ou thread tout dépend de tes besoins

WORA
vendredi 9 décembre 2005 à 10:36:24 | Re : Problème avec actionperformed

jcodeunpeu

salut,





     for(long i=0;i<100000000;i++){
                 System.out.println(i);// elle reste grise parce que tu demande au proc de traiter 100 millions de system.out.print, ce qu'il fait, voui il les écrit, mais il a pas vraiment le temps de faire autre chose..... notemment s'occuper de la fenêre...
             }

tu pourrais faire plutot :

 if(e.getActionCommand().equals("details")) { 
   Thread deail = new Thread(new Runnable(){
      final JFrame j = new JFrame();
      public void run(){
        j = cmd.afficherCommande(); 
        while(pasFini){
           Thread.sleep(500); // endor le thread pour une 1/2 secondes, les autres traitements
           // on le temps de s'effectuer
        }
        // lorsque pasFini passe à faux et que detail se reveille, on passe ici ...
        // Une fois le traitement termine on ferme la fenetre         
        j.setVisible(false);
      }
    }
   });
}
// il te reste à trouver le moyen de basculer la valeur booléenne de pasFini ailleurs dans ton code ....
A+

vendredi 9 décembre 2005 à 20:51:20 | Re : Problème avec actionperformed

cyberval

WORA, comment je pourrais faire pour passer par un timer ou un thread. Tu veux dire que le processus de creation de la fenetre doit être fait dans un thread ?

Et sinon d'autre suggestions ?
samedi 10 décembre 2005 à 00:14:25 | Re : Problème avec actionperformed

Twinuts

Membre Club Administrateur CodeS-SourceS
Salut,


pas forcement le processus de création de la fenetre mais plus le traitement ce qui te permettrai de pouvoir afficher ta fenetre et en meme temps de faire ton traitement comme ca la jvm ne bloquera pas pour printer toute ta fenetre

WORA


Cette discussion est classée dans : affiche, problème, long, traitement, actionperformed


Répondre à ce message

Sujets en rapport avec ce message

Problème de téléchargement d'un fichier [ par msazouz ] Bonjour à tous, j'ai le problème suivant: j'ai écris le code ci-dessous dans une jsp afin d'ouvrir un fichier. il affiche bien le fichier avec le bon Problème avec la classe Double [ par Lecoco_29 ] Bonjour à tous,J'ai un problème et je ne comprend pas pourquoi java réagit comme ça.Je souhaite créer un objet Double avec comme valeur 1/3. Quand je wait( ) ? [ par tenthor ] Bonjour, J'ai un petit souci, en fait j'ai une classe qui effectue un traitement. A un moment donné, j'ai besoin de valeurs pour pourvoir continuer mo problème avec les doubles [ par amel468 ] Bonjour!Je suis en train de développer un convertisseur Franc euro dans une applet avec des composants AWT. l'utilisateur clique sur un panel clavier. Problème JDesktopPane, JInternalFrame [ par dragchm ] Salut tout le monde voila mon problème j'ai crée un jFrame ou j'affiche plusieurs JInternalFrame dans l'une de JInternalFrame (J1) j'ai crée un jbutto Pb Positionnement JScrollPane [ par LittleTab ] Bonjour, j'ai un projet à effectuer et je rencontre quelques difficultés. J'ai donc une Fenêtre avec dedans un mainPanel. Dans ce mainPanel, j'ai un J mon applet n'affiche pas les dates [ par zakerfreestyle ] bonjour; j'ai réalisé une applet qui récupere des données a partir d'une servlet connéctée à oracle et les affiche dans un JdbTable. Quand j'éxécute m Problème avec la division des long [ par ammouna24 ] Bonjour, Je veux bien faire une division entre deux nombres de type long : par exemple : long M = 1356044651L; long D = 44600000 double result = D / Traitement figé [ par tteuteu ] Bonjour,Je vous expose mon problème...J'ai un traitement (batch) qui va chercher entre 1 568 511 et 3 109 882 enregistrements. Le problème est simple problème avec exécution programme java [ par gadour_esz ] salut,j'ai écrit un programme en java avec NetBeans qui pointe sur la version 1.6 de javale problème est que lorsque j'exécute ce programme sur un aut


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,764 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales