Problème d'héritage ou autre chose

cs_Lotus85 Messages postés 2 Date d'inscription mardi 15 mai 2007 Statut Membre Dernière intervention 2 juin 2007 - 1 juin 2007 à 18:26
amundain Messages postés 110 Date d'inscription mercredi 28 mars 2007 Statut Membre Dernière intervention 28 août 2012 - 2 juin 2007 à 10:26
ma question est: comment afficher dans un jtextfield d'un panel B(ou Jframe je sais pas trop le nom), le contenu d'une cellule d'un tableau d'une autre classe possédant un panel A

Compris?
ClasseA.java -> tableau -> textfieldA affichant la case du tableau
ClasseB.java-> textfieldB affichant la case du tableau de la ClasseA ou simplement du textfieldA

ma classe MainRet.java à sa propre JFrame et possède le jtextfieldB où je veux afficher ma valeur.
ma classe BaseDonnee contenant le jdbTable à sa JFrame et possede le jtextFieldA.

voici mon code contenu dans BaseDonnee.java

J'ai affecter le bouton "Coller" à mon interface graphique pour récupérer la valeur.

 
 
public class BaseDonnee extends JFrame {
 
Blabla
BlaBla
etc...
 
jTextField jTexFieldA = new JTextField
 
    public  class fonctioncoller  extends MainRet
      {
 
             public void paste()
            {
                    Object valeur;
                    valeur = jdbTable1.getValueAt(1, 1);
                    s = valeur.toString();
 
                    jTextFieldA.setText(s);
           
                    jTextFieldB.setText(s);
             }
 
 
 
 
             public void Coller_actionPerformed(ActionEvent e) 
            {
 
                     fonctioncoller coller = new fonctioncoller();
                      coller.paste();
 
                       // action que fait le bouton coller  lorsqu'on appuie dessus
 
            }
        } 
 
}



j'ai bien dans mon JtextFieldA le contenu de la case (1,1) de la jdbTable mais pas dans le JtextFieldB.

Je n'ai aucune erreur de compilation et je ne comprend pas trop comment faire.

J'ai essayé de faire l'inverse, en faisant la manip sur la classe MainRet


public  class MainRet extends JFrame {
 
Blabla...
 
JTextField jTextFieldB = new JTextField();
 
 
         public class fonctioncoller extends BaseDonnee
         {
 
 
            public void paste() 
           {
                
                String s;
                Object valeur;
                
                   valeur = jdbTable1.getValueAt(6, 6);
                   s = valeur.toString();
                
                       
                
                     jTextFieldB.setText(s);
            }
 
 
        }
 
            public void jButton1_actionPerformed(ActionEvent e) 
   {
              fonctioncoller coller = new fonctioncoller();
             coller.paste();
   }
 
} 



voila mon problème. Pouvez vous m'aider.

2 réponses

cs_Lotus85 Messages postés 2 Date d'inscription mardi 15 mai 2007 Statut Membre Dernière intervention 2 juin 2007
2 juin 2007 à 00:45
Je ne pensais pas que c'était si compliqué , je ne dois pas bien expliquer.


Donc j'ai deux classes graphiques, la première se nommant BaseDonnee
possédant une jdbtable. La deuxième MainRet possédant la classe main et
faisant apparaitre son propre panel ainsi que le panel de BaseDonnee


Dans chacune des deux classes graphiques y'a différents jtexfield et autre jbuttons.


En gros je voudrais faire communiquer ses deux classes graphiques entre elles.


Bref je sais je suis très tordu d'esprit, donc je vais cree qu'une
seule classe graphique en foutant ma jdbtable dans un onglet! et le
tour sera joué.


J'essaierai demain, et au pire je reviens si ca marche pas


@+
0
amundain Messages postés 110 Date d'inscription mercredi 28 mars 2007 Statut Membre Dernière intervention 28 août 2012 1
2 juin 2007 à 10:26
Hello,

Si j'ai bien compris ton problème, tu peux récupérer tes valeurs par le biais de méthodes get() dans chacune de tes classes A et B.

Dans la classe BaseDonnee qui contient le JTextFieldA tu fais une méthode :

String getContenuA()
{
    return <contenuJTextFieldA>;
}

Dans la classe MainRet qui contient le JTextFieldB tu fais une méthode :

String getContenuB()

{

    return <contenuJTextFieldB>;

}

Ensuite, dans ta classe BaseDonnee tu crées une nouvelle instance de MainRet avec
MainRet toto=new MainRet();
et tu appelles la méthode get par ce biais :

String x=toto.getContenuB();

et dans la classe MainRet tu crées une nouvelle instance de BaseDonnee avec
BaseDonnee titi= new BaseDonnee();
et tu appelles la méthode get par ce biais :


String y=titi.getContenuA();

J'éspère que j'ai été suffisamment clair...

A +,

amundain

<hr size="2" width="100%" />Java bien,merci.
0