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 :

ActionListener et variables d'une autre classe


Sujet :

avec Java

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2012
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2012
    Messages : 15
    Points : 5
    Points
    5
    Par défaut ActionListener et variables d'une autre classe
    Bonjour,

    Je souhaiterais accéder à une variable dans un actionListener mais je ne sais pas comment...

    La situation:
    J'ai une classe X qui étend JButton et qui implémente ActionListener et quand je clique sur le bouton je voudrais changer un texte mais je peux pas l'envoyer en paramètres dans addActionListener.
    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
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
     
    import javax.swing.JButton;
     
    public class Arme extends JButton implements ActionListener{
     
        public Arme(String s){
            super(s);
        }
     
        @Override
        public void actionPerformed(ActionEvent e) {
            armeTexte.setText("ok"); //Ici le problème
        }
    }
    la variable armeTexte a été initialisée dans une autre classe, et évidemment quand je veux la changer il me dit qu'il ne la connait pas...

    A noter que ma variable armeTexte est un objet de type ArmeTexte qui étend un JLabel.

    Quelqu'un saurait-il m'indiquer comment procéder ?

    Merci d'avance pour votre aide.

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    281
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 281
    Points : 321
    Points
    321
    Par défaut
    A ta place je déclarerai un constructeur ou tu y mettrais ta variable armeTexte.

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2012
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2012
    Messages : 15
    Points : 5
    Points
    5
    Par défaut
    Oui c'est ce que j'ai fais pour contourner le problème, mais ca ne le résout pas

  4. #4
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Novembre 2012
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 14
    Points : 18
    Points
    18
    Par défaut
    Bonjour,

    Je vais peut être dire n'importe quoi mais en faisant cela dans la classe ArmeTexte:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    private String ma_variable;
     
    public void afficheTexte() {
        this.setText(ma_variable);
    }

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2012
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2012
    Messages : 15
    Points : 5
    Points
    5
    Par défaut
    Salutations,
    Quel est le rôle de "ma_variable"?
    Je ne comprends pas trop ce que tu veux faire, peux tu expliquer stp?

  6. #6
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Novembre 2012
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 14
    Points : 18
    Points
    18
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    //on déclare la variable 
    private static String ma_variable;
     
    //on l'initialise quelque part dans le code
    ma_variable = "le texte ici"; 
     
    //et on déclare la méthode qui va servir à l'afficher
    public static void afficheTexte() {
        setText(ma_variable);
    }
    Comme cela dans la classe ou tu appelles la méthode comme ceci ArmeTexte.afficheTexte(); tu as pas besoin de transmettre le texte en paramètre. C'est sûrement pas ce que tu cherchais finalement, tan pis j'aurai essayé.

  7. #7
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2012
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2012
    Messages : 15
    Points : 5
    Points
    5
    Par défaut
    Ce n'est pas exactement ce que je cherche en effet, je voudrais juste savoir comment accéder à une variable d'une autre classe, mais je ne sais pas si c'est possible a part comme druzy l'a dit (passer la variable au constructeur pour l'avoir dans ma classe). En tout cas merci pour ton interêt

  8. #8
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 551
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 551
    Points : 21 607
    Points
    21 607
    Par défaut
    Citation Envoyé par Intense Voir le message
    je voudrais juste savoir comment accéder à une variable d'une autre classe,
    Ben pour ça il faut connaître une instance de cette autre classe, évidemment. Et elle-même serait forcément passée sous forme de variable dans le constructeur ou un setter.

    Du coup ça sert à rien de passer l'instance de l'autre classe pour en récupérer la variable qui t'intéresse. Il vaut mieux, en effet, passer directement la variable qui t'intéresse.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  9. #9
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2012
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2012
    Messages : 15
    Points : 5
    Points
    5
    Par défaut
    OK merci! En fait je voulais dire objet a la place de variable mais ca revient au même.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Garder une référence vers une variable d'une autre classe
    Par choupeo dans le forum Windows Forms
    Réponses: 5
    Dernier message: 08/12/2007, 18h30
  2. Réponses: 6
    Dernier message: 31/05/2007, 18h10
  3. Réponses: 9
    Dernier message: 20/03/2006, 16h51
  4. [PERL] accéder à une variable d'une autre classe
    Par LE NEINDRE dans le forum Langage
    Réponses: 8
    Dernier message: 11/01/2006, 17h06
  5. Récupérer une variable d'une autre classe
    Par Chris33 dans le forum Général Python
    Réponses: 2
    Dernier message: 06/12/2005, 10h45

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