Appel d'une classe avec contrainte dans une fonction

cs_fraisa1985 Messages postés 52 Date d'inscription jeudi 12 juillet 2007 Statut Membre Dernière intervention 15 avril 2013 - 26 mars 2008 à 11:37
cs_Chatbour Messages postés 764 Date d'inscription jeudi 27 juillet 2006 Statut Membre Dernière intervention 6 septembre 2010 - 26 mars 2008 à 20:32
Salut a tous,
mon probleme est la suivante:
J'ai une classe qui contient deux champs texte(JTextField) et une bouton ok
lorsque je clique sur le bouton ok je doit retouner une chaine de caractére
qui est composé de deux chaps textuels.(il marche bien avec les tests)
Aussi j'ai un autre classe qui comporte une fonction qui doit à
chaque fois appeler le classe ci-dessus et recupére le String retourné.
La probleme est comment faire exactement dans la fonction pour s'assurer
que je ne doit passser au 2éme instruction qui est la recupération du chaine qu'aprés le clic
sur le bouton ok
code :
public class Classe2
{
fonction(String s)
{
Classe1 c1=new Classe1(s); //instruction1


//il faut avoir un stop aussi et ne passer à l'instruction suivante qu'aprés le clic sur le bouton Ok


String s_recupéré =c1.recuperer(s);//instruction2


System.out.print(s_recupéré);//toujours il retourne null


}
}
Toute information sera le bien venue et merci d'avance.

1 réponse

cs_Chatbour Messages postés 764 Date d'inscription jeudi 27 juillet 2006 Statut Membre Dernière intervention 6 septembre 2010 19
26 mars 2008 à 20:32
Salut,

tu peux appeler instancier ta classe Classe1 et appeler sa méthode recuperer() dans le corps d'une actionPerformed() d'un ActionListener assigné au bouton :

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

class Fenetre extends JFrame{
    private JButton bouton = new JButton("Récuperer la chaine");
    private JTextField texte = new JTextField(10);
   
    public Fenetre(){
        JPanel pan = new JPanel();
        pan.add(texte);
        pan.add(bouton);
        this.getContentPane().add(pan);
       
        bouton.addActionListener(new ActionListener(){
            public void actionPerformed(ActionEvent e){
                ClasseRecuperation cr = new ClasseRecuperation();
                String str = cr.recuperer(texte);
                System.out.println(str);
            }
        });
       
        this.setSize(200, 100);
        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        this.setVisible(true);
    }
}

class ClasseRecuperation{
    public String recuperer(JTextField tf){
        return tf.getText();
    }
}

public class Tester{
    public static void main(String[] args){
        Fenetre f = new Fenetre();
       
    }
}
0
Rejoignez-nous