Appli + controller

Résolu
adrienr11vdv Messages postés 99 Date d'inscription jeudi 13 juillet 2006 Statut Membre Dernière intervention 16 avril 2009 - 18 févr. 2008 à 17:56
adrienr11vdv Messages postés 99 Date d'inscription jeudi 13 juillet 2006 Statut Membre Dernière intervention 16 avril 2009 - 18 févr. 2008 à 19:47
Bonjour,
Je développe une application en Java. J'ai deux classes : une classe "code graphique" et une autre qui les évenement de celle-ci

Voici la classe Tout, classe graphique:
    private JButton jb_valider;
    private utilisateurcontroller utilcont;
    private JTextField nom;
    public static void main(String[] args) {
        SwingUtilities.invokeLater(new Runnable() {
            public void run() {
                Tout inst = new Tout();
                inst.setLocationRelativeTo(null);
                inst.setVisible(true);
            }
        });
    }
   
    public Tout() {
        super();
        initGUI();
        utilcont = new UtilisateurController(this);
    }
   
    privatevoid initGUI() {
       {
           jb_valider= new JButton();
              jp_ajoututil.add(jb_valider);
             jb_valider.setText("Valider");
           valider.setBounds(543, 319, 77, 33);
        }
        {.....}

   public JButton getJb_valider(){
        return jb_valider;
    }
    public String getJtf_nom() {
        return jtf_nom.getText();
    }
}

Voici la classe qui controlle
public class UtilisateurController implements MouseListener{

    private Tout tout;

    public UtilisateurController(Tout tout) {
        this.tout = tout;
        tout.getJb_valider().addMouseListener(this);
    }

    @Override
    public void mouseClicked(MouseEvent act) {
        Object src = act.getSource();
        //la source est le bouton valider:
        if (src.equals(tout.getJb_valider())){
                tout = new Tout();
           
                String nom = tout.getJtf_nom();
                System.out.println("nom" +nom);
}

le system.out.println ("nom" +nom), le retourne juste (nom). Donc je ne recupere rien

merci d'avance pour votre aide

2 réponses

Twinuts Messages postés 5375 Date d'inscription dimanche 4 mai 2003 Statut Modérateur Dernière intervention 14 juin 2023 111
18 févr. 2008 à 19:41
Salut,

change ta classe UtilisateurController par

public class UtilisateurController implements MouseListener{

    private Tout tout;

    public UtilisateurController(Tout tout) {
        this.tout = tout;
        tout.getJb_valider().addMouseListener(this);
    }

    @Override
    public void mouseClicked(MouseEvent act) {
        Object src = act.getSource();
        //la source est le bouton valider:
        if (src.equals(tout.getJb_valider())){
                //<strike>tout = new Tout();</strike>// tu invalides l'instance passée au constructeur de ta classe
                String nom = tout.getJtf_nom();
                System.out.println("nom" +nom);
        }
    }
}

Au passage tu devrais plus utiliser le listener ActionListener pour les boutons...
genre :

import java.awt.ActionListener;
import java.awt.event.ActionEvent;

public class UtilisateurController implements ActionListener{

    private Tout tout;

    public UtilisateurController(Tout tout) {
        this.tout = tout;
        ActionListener <italique>(this);
    }

    ActionEvent act) {
        Object src = act.getSource();
        //la source est le bouton valider:
        if (src.equals(tout.getJb_valider())){
                String nom = tout.getJtf_nom();
                System.out.println("nom" +nom);
        }
    }
}

------------------------------------
"On n'est pas au resto : ici on ne fait pas dans les plats tout cuits ..."

OoWORAoO
3
adrienr11vdv Messages postés 99 Date d'inscription jeudi 13 juillet 2006 Statut Membre Dernière intervention 16 avril 2009
18 févr. 2008 à 19:47
MERCI

Adrien
0
Rejoignez-nous