Problème avec JTextField dans plusieurs classes

Résolu
mdrcedrick Messages postés 54 Date d'inscription dimanche 12 septembre 2004 Statut Membre Dernière intervention 22 novembre 2007 - 26 juil. 2007 à 11:56
mdrcedrick Messages postés 54 Date d'inscription dimanche 12 septembre 2004 Statut Membre Dernière intervention 22 novembre 2007 - 26 juil. 2007 à 14:19
bonjour à tous

j'utilise une méthode que je peux appeler de 3 classes différentes avec ces dernière en paramètres

ex : new CodePostal(codePostal, this);

et ca dans 3 classes


voici la classe CodePostal

private        
Object           
        panelPrincipal   
        =   
    null;

    private        
Connection        
connectMySQL            =
        null;

    private        
Statement            
ordreMySQL           
    =         null;

    private        
ResultSet            
    resultatMySQL       
    =         null;

   

    public        
           
           
           
            CodePostal
           
        (String codePostal, Object
aFenetre)

    {

        System.gc ();

       
this.panelPrincipal       
=    aFenetre;   

        try

        {

            Class.forName("com.mysql.jdbc.Driver");

           
this.connectMySQL = DriverManager.getConnection
("jdbc:mysql://localhost/cle_de_sol", "root", "");

           

           
this.ordreMySQL         =
       
this.connectMySQL.createStatement();

           
this.resultatMySQL     =    
    this.ordreMySQL.executeQuery ("select COMMUNE from
COMMUNES_INSEE where CP='" + codePostal + "' order by COMMUNE");

           

            int i = 0;

           
Vector<String>       
monVecteur    =    new
Vector<String>();

            while (this.resultatMySQL.next())

            {

                monVecteur.add (resultatMySQL.getString (1));

                i++;

            }

           

            switch (i)

            {

           
    case     0   
:    break;

           
    case       
1    :   
this.panelPrincipal.monTextVille.setText(monVecteur.get
(0));   break;

           
    default       
:    new AffichePlusieursVilles(monVecteur,
this.panelPrincipal, codePostal);

            }

        }

        catch (ClassNotFoundException e)

        {

            System.err.println (e.getMessage ());

        }

        catch (SQLException e)

        {

            System.err.println (e.getMessage ());

        }   

    }   


comme j'appelle cette méthode depuis différentes classes que je fais
passer en paramètres j'utilise donc le type Object dans le constructeur
de la classe CodePostal


or j'ai un problème dans mon switch avec la ligne suivante :
case       
1    :   
this.panelPrincipal.monTextVille.setText(monVecteur.get
(0));   break;


dans mes 3 classes d'appel j'ai bien un JTextField "monTextVille", les 3 sont déclarés "public"

or eclipse me sort une erreur :
monTextVille cannot be resolved or is not a field


je ne vois pas d'où proviens l'erreur, ca fait deux heures que je cherche et je commence à déprimer


merci d'avance pour votre aide



don't cross the crocked step

2 réponses

mdrcedrick Messages postés 54 Date d'inscription dimanche 12 septembre 2004 Statut Membre Dernière intervention 22 novembre 2007
26 juil. 2007 à 14:19
suite de mon monologue

j'ai trouvé la solution

rien ne sert en faite de faire passer le panel en paramètre

seul le JTextField compte



public      CodePostal   (String codePostal, Object aFenetre, JTextField champTexte)
{
   switch (i)
   {
       case     0    :    break;

       case    
1    :   
champTexte.setText(.............);      break;

       default   
    :    new
AffichePlusieursVilles(monVecteur, this.panelPrincipal, codePostal,
champTexte);
   }
}  

et donc




champTexte.setText(.............); suffit









don't cross the crocked step
3
mdrcedrick Messages postés 54 Date d'inscription dimanche 12 septembre 2004 Statut Membre Dernière intervention 22 novembre 2007
26 juil. 2007 à 14:12
je viens d'essayer en faisant passer en plus mon champ texte dans le construteur de ma classe

mais rien n'y fait

public      CodePostal   (String codePostal, Object aFenetre, JTextField champTexte)

{

   switch (i)

   {

       case     0    :    break;

       case    
1    :   
this.aFenetre.champTexte.setText(.............); 
    break;

       default   
    :    new
AffichePlusieursVilles(monVecteur, this.panelPrincipal, codePostal,
champTexte);

   }

}   


aFenetre est un objet qui hérite de JPanel dans lequel j'ai mon "champTexte"

même là il ne veut pas

il me souligne "champTexte" dans this.aFenetre.champTexte.setText(.............); en me mettant le même problème que cité plus haut



don't cross the crocked step
0
Rejoignez-nous