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

 Java Discussion :

sauvegarde d'une variable modifiée dans actionListner


Sujet :

Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Février 2007
    Messages
    62
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 62
    Par défaut sauvegarde d'une variable modifiée dans actionListner
    bonjour,
    voilà mon probléme: je modifie une variable que je dois passer a une autre classe dans un actionListener mais j'y arrive pas. quelqu'un sait il comment faire?
    merci.

  2. #2
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Mars 2009
    Messages
    54
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2009
    Messages : 54
    Par défaut
    essaie de mettre la valeur que tu veux passer à l'autre classe dans un attribut statique.

  3. #3
    Membre confirmé
    Inscrit en
    Février 2007
    Messages
    62
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 62
    Par défaut
    bein au fait l'attribut en question est de type static, le probleme c'est que les modifications effectuées sur la variable a l'interieur du Listener ne sont pas prises en compte une fois sortie du listener.
    merci .

  4. #4
    Membre Expert
    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
    Par défaut
    Fais nous un mini-programme en un seul fichier source qui compile qui reproduise ton problème, et on pourra regarder. Merci.

  5. #5
    Membre confirmé
    Inscrit en
    Février 2007
    Messages
    62
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 62
    Par défaut
    bonjour, voici un morceau de code:
    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
     
    private JButton getJButton() {
            if (jButton == null) {
                jButton = new JButton();
                jButton.setBounds(new Rectangle(398, 520, 182, 45));
                jButton.setText("autres types d'alertes");
                jButton.addActionListener(new java.awt.event.ActionListener() {
                    public void actionPerformed(java.awt.event.ActionEvent e) {
              tableaux=remplit();    
              i=25;
     
              System.out.println(i+"dedans");    
     
                  }
                });
            }
     
            System.out.println(tableaux+"sortie");
            System.out.println(i+"dehors");
     
            return jButton;
        }
    et i est declaré static int i =100; au debut dans la classe.
    et il m'affiche 25 dans le listener et 100 à l'exterieur.
    donc il prend pas en consideration la modification effectuée a l'interieur du Listener, meme dans le main c'est 100 qui est affiché.
    merci

  6. #6
    Membre Expert
    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
    Par défaut
    J'aurais préféré un truc complet qui compile, mais enfin...

    Et comment fais-tu, dans le main, pour afficher la valeur de i après avoir appuyé sur le JButton ?

  7. #7
    Membre confirmé
    Inscrit en
    Février 2007
    Messages
    62
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 62
    Par défaut
    au fait ma question est : comment dire au main d'attendre la fin du Listener pour finir son execution? merci

  8. #8
    Membre Expert
    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
    Par défaut
    Voilà, la raison pour laquelle ta variable n'as pas la valeur donnée dans le listener est que le listener ne s'est pas encore exécuté au moment où tu l'affiches

  9. #9
    Membre confirmé
    Inscrit en
    Février 2007
    Messages
    62
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 62
    Par défaut
    bonjour oui voilà, mais j'essaie de mettre un wait et nofify mais ça bloque j'arrive pas a debloquer car aparemment le notify n'est jamais fait comment ça marche ce truc là?
    merci

  10. #10
    Membre confirmé
    Inscrit en
    Février 2007
    Messages
    62
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 62
    Par défaut
    bsr
    voici ma fonction 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
    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);
    				}
    				});
    			   // 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());
            	}
    			});
    System.out.println(i+"the last");
     
    			}
    		});
     
    	}
    le dernier system.out s'affiche en premier ce qui fait que je ne peut pas sauvegarder les modification faites dans les actionListener.
    je peux savoir pourquoi?et comment faite pour que le main s'execute dans l'ordre?
    merci

Discussions similaires

  1. [Batch] Evaluation d'une variable modifiée dans une boucle FOR
    Par dedz dans le forum Scripts/Batch
    Réponses: 2
    Dernier message: 22/10/2009, 17h55
  2. Réponses: 11
    Dernier message: 22/06/2005, 11h04
  3. installer une variable environnement dans windows xp pack 2
    Par superjeanpi dans le forum Windows XP
    Réponses: 1
    Dernier message: 03/03/2005, 10h13
  4. Utilisation d'une Variable(Vb) dans d'autre language
    Par cach dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 22/02/2005, 12h00
  5. [VB6]Initialiser une variable Static dans un évenement
    Par loverdose dans le forum VB 6 et antérieur
    Réponses: 16
    Dernier message: 20/01/2005, 14h57

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