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

avec Java Discussion :

ordonner l'execution dans un main


Sujet :

avec Java

  1. #1
    Nouveau membre du Club
    Inscrit en
    Février 2007
    Messages
    62
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 62
    Points : 36
    Points
    36
    Par défaut ordonner l'execution dans un main
    bonjour tout le monde;
    voici mon code et j'aimerais executer d'abords les actionListener avant le main
    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
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    	/**
             * @param args
             */
    	public static void main(String[] args) {
    		// TODO Auto-generated method stub
     
    		SwingUtilities.invokeLater(new Runnable() {
    			public void run() {
    				application appfinale=new application();
     
     
    				SAXBuilder sxb = new SAXBuilder();
    				try
    				{
    				//On crée un nouveau document JDOM avec en argument le fichier XML
    				//Le parsing est terminé ;)
    					JDOM2.document = sxb.build(new File("alerte1.xml"));		
    					}
    				catch(Exception e){}
     
    				//On initialise un nouvel élément racine avec l'élément racine du document.
    				JDOM2.racine = JDOM2.document.getRootElement();
    				JDOM2.enregistreAlertes();				
     
    			    //application In= new application();  //  @jve:decl-index=0:
    			    appfinale.getJFrame().setVisible(true);
    			    System.out.println(i);
     
    			    appfinale.getJButton().addActionListener(new java.awt.event.ActionListener() {
    				public void actionPerformed(java.awt.event.ActionEvent e) {		
    					fenetreconnaissances.getJFrame().setVisible(true);
    					System.out.println("je suis dans listener de application");
    					i=25;
    					System.out.println(i);
    					Ins.set();
    				}
    				});
    			   // System.out.println(i+"the last");
    fenetreconnaissances.getJButton().addActionListener(new java.awt.event.ActionListener() {
    	public void actionPerformed(java.awt.event.ActionEvent e) {
    		  tableaux =fenetreconnaissances.remplit();	
    		  System.out.println("je suis dans listener de premierefetre");
    		i=0;
    		System.out.println(i);
    		System.out.println(tableaux.size());
    	    	}
    			});
    Ins.attente();
    appfinale.ecrit();
    System.out.println(i+"the last");
     
    			}
    		});
     
    	}
    le dernier system.out il me l'affiche en premier avant les autres et moi je veux qu'il respecte l(ordre comment faire pour dire au main d'attendre la fin d'execution des actionslistener pou continuer?
    merci

  2. #2
    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
    Ce n'est pas possible. Il faut que tu places dans tes listeners l'instruction elle même, ou alors que tu te fabriques des listeners et événements perso, selon le sens que tu veux leur donner, pour le faire.
    Mieux que Google, utilisez Sur Java spécialisé sur la plate-forme java !
    Pour réaliser vos applications Java dans le cadre de prestations, forfait, conseil, contactez-moi en message privé.

  3. #3
    Nouveau membre du Club
    Inscrit en
    Février 2007
    Messages
    62
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 62
    Points : 36
    Points
    36
    Par défaut
    comment faire pour créer des listeners perso?

  4. #4
    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
    Mieux que Google, utilisez Sur Java spécialisé sur la plate-forme java !
    Pour réaliser vos applications Java dans le cadre de prestations, forfait, conseil, contactez-moi en message privé.

  5. #5
    Nouveau membre du Club
    Inscrit en
    Février 2007
    Messages
    62
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 62
    Points : 36
    Points
    36
    Par défaut
    je ne pourrai pas definir un thread evenement avec les methodes wait et notify comme suit:
    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
    public class evenement extends Thread{  	  	     
    	private static evenement INSTANCE = null;  	  
    /**           * La présence d'un constructeur privé supprime                * le constructeur public par défaut.           */
    boolean Etat;
    	private evenement() {		Etat = Boolean.TRUE;  	 
     
    	}  	       	   	     /**           * Le mot-clé synchronized sur la méthode de création
                          * empêche toute instanciation multiple même par  
                          *               * différents threads.          * Retourne l'instance du singleton.             */  	 
    	public synchronized static evenement getInstance() { 
    		if (INSTANCE == null)  
    			INSTANCE = new evenement();  	
    		return INSTANCE;  	     }   
    	//	private Boolean Etat; 
    	// etat de l'evenement   
    	public synchronized void set() { 
    		Etat = Boolean.TRUE;  	        // debloque les threads qui attendent cet evenement: 
    		notifyAll();  		}  		
    	public synchronized void reset() {
    		Etat = Boolean.FALSE; 
    		}
    	public synchronized void attente() {  		
    		if(Etat==Boolean.FALSE) { 
    			try {  	
    				wait(); // bloque jusqu'a un notify() 
    				}  				catch(InterruptedException e) {};
    		}
    				}// fin attente  	
    		}// fin classe
    puis dans le main faire
    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
      appfinale.getJButton().addActionListener(new java.awt.event.ActionListener() {
    				public void actionPerformed(java.awt.event.ActionEvent e) {		
    					fenetreconnaissances.getJFrame().setVisible(true);
    					System.out.println("je suis dans listener de application");
    					i=25;
    					System.out.println(i);
    				}
    				});
    			    fenetreconnaissances.getJButton().addActionListener(new java.awt.event.ActionListener() {
    			    public void actionPerformed(java.awt.event.ActionEvent e) {
    			    tableaux =fenetreconnaissances.remplit();	
    			    System.out.println("je suis dans listener de premierefetre");
    			    i=0;
    			    System.out.println(i);
    			    System.out.println(tableaux.size());
    			    Ins.set();
    			    }
    			});
    Ins.attente();
    appfinale.ecrit();
    System.out.println(i+"the last");
    			}
    		});
    et Ins c'est une instance de evenement.
    merci

Discussions similaires

  1. un executable dans le fichier ressource
    Par joebilou dans le forum Windows
    Réponses: 4
    Dernier message: 28/06/2005, 12h18
  2. [template et linker]problème dans le main
    Par Andu dans le forum C++
    Réponses: 19
    Dernier message: 27/06/2005, 18h47
  3. Ordonnée des données dans un TreeView
    Par LoicH dans le forum C++Builder
    Réponses: 3
    Dernier message: 17/04/2005, 19h08
  4. [JNI] execution dans un JAR
    Par bibx dans le forum Entrée/Sortie
    Réponses: 5
    Dernier message: 10/12/2004, 11h23
  5. Réponses: 5
    Dernier message: 25/04/2004, 01h57

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