Mutateurs

CdB2006 Messages postés 41 Date d'inscription jeudi 20 août 2009 Statut Membre Dernière intervention 25 janvier 2012 - 19 août 2010 à 10:34
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 - 19 août 2010 à 14:23
Bonjour,

Je n'arrive pas à modifier un JTextfield d'une class à partir d'une autre class. Enfet ce JTextfield se trouve dans une première JFrame qui en ouvre par après une autre différente. Donc je voudrais modifier le contenu de ce JTextfield à partir de ma deusième fenêtre. J'imagine qu'il faut un mutateur mais je ne sais pas comment l'utiliser.

Merci

CdB2006

10 réponses

CdB2006 Messages postés 41 Date d'inscription jeudi 20 août 2009 Statut Membre Dernière intervention 25 janvier 2012
19 août 2010 à 10:37
C'est un JLabel pardon
0
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 131
19 août 2010 à 11:25
Salut,

Tu fais une méthode dans ta classe qui s'en chargera :

public void modifyText(String text) {
tonLabel.setText(text);
}
______________________________________

AVANT de poster votre message, veuillez lire, comprendre, et appliquer notre réglement
0
CdB2006 Messages postés 41 Date d'inscription jeudi 20 août 2009 Statut Membre Dernière intervention 25 janvier 2012
19 août 2010 à 11:43
Salut,

C'est ce que j'avais fait mais le problème est que je sui dans un actionlistener d'un bouton :

Ca c'est mon ActionListener:

public class BoutonAnnuler implements ActionListener{
public void actionPerformed(ActionEvent e){
Nbrejour.setText("");
NbrecoupPompe.setText("");
fermer(fen);}}

et ça c'est ma fonction fermer:

public void fermer1(fenetreBille fen){
this.setVisible(false);
fen.GA.setText(String.valueOf(graisse));
}


Et je ne sais pas comment importer un objet dans un actionlistener...

Merci
0
CdB2006 Messages postés 41 Date d'inscription jeudi 20 août 2009 Statut Membre Dernière intervention 25 janvier 2012
19 août 2010 à 11:49
J'ai essayé ça :

public class BoutonAnnuler implements ActionListener{
public void actionPerformed(ActionEvent e, fenetreBille fen){
Nbrejour.setText("");
NbrecoupPompe.setText("");
fermer(fen);}}

mais je ne sais pas ce que je dois mettre avant le "fen" dans la parenthèse quand j'associe le ActionListener à mon bouton "ok":


ok.addActionListener(new BoutonOk(A ,fen));
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 131
19 août 2010 à 12:19
Salut,

Voir ici pour savoir comment coder un actionListener proprement et optimisé :
http://www.javafr.com/forum/sujet-ACTIONLISTENER_1461666.aspx
______________________________________

AVANT de poster votre message, veuillez lire, comprendre, et appliquer notre réglement
0
CdB2006 Messages postés 41 Date d'inscription jeudi 20 août 2009 Statut Membre Dernière intervention 25 janvier 2012
19 août 2010 à 12:37
Salut,

je l'ai fait mais jarrive pas à importer un argument dans mon actionListener... :s
0
CdB2006 Messages postés 41 Date d'inscription jeudi 20 août 2009 Statut Membre Dernière intervention 25 janvier 2012
19 août 2010 à 12:50
J'ai du mal m'exprimer :)

donc jai une premiere fenetre ou se trouve un label et un bouton(bouton1). Quand je clique sur ce bouton1, une autre fenetre s'ouvre et sur cette nouvelle fenetre il y a un bouton (bouton2) et quand on clique dessus, il ferme la nouvelle fenetre et change le texte du label de la premiere fenetre. Et je n'arrive pas à coder le changement de texte :s


J'espere m'être mieux exprimé.. :)
0
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 131
19 août 2010 à 13:56
Salut,

Il te faut une référence vers ta première fenêtre dans ta deuxième fenêtre et appeler la méthode de modification de ton label à partir de cette référence.
______________________________________

AVANT de poster votre message, veuillez lire, comprendre, et appliquer notre réglement
0
CdB2006 Messages postés 41 Date d'inscription jeudi 20 août 2009 Statut Membre Dernière intervention 25 janvier 2012
19 août 2010 à 14:04
Malheureusement jene suis débutant en java.. peux tu me montrer un exemple? :)

merci
0
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 131
19 août 2010 à 14:23
Salut,

Tu peux faire ainsi par exemple :
public class Fenetre2 extends JFrame {
  protected Action action;
  protected Fenetre1 fenetre1;

  public Fenetre(Fenetre1 fenetre1) {
    super();
    this.fenetre1 = fenetre1;
    action = new Action();
    JButton tonBouton = new JButton("tonBouton");
    tonBouton.setName("tonBouton");
    tonBouton.addActionListener(action);
  }

  protected void boutonClick() {
    fenetre1.modifyText("texte modifié");
    this.setVisible(Boolean.FALSE);
  }

  private class Action implements ActionListener {
    public void actionPerformed(ActionEvent e) {
      if ("tonBouton".equals((JComponent) e.getSource()).getName()) {
        SwingUtilities.invokeLater(new Runnable() {
          public void run() {
            boutonClick();
          } 
        });
      }
    }
  }
}

______________________________________

AVANT de poster votre message, veuillez lire, comprendre, et appliquer notre réglement
0
Rejoignez-nous