IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage Java Discussion :

problème au niveau de l'héritage, ou autre chose


Sujet :

Langage Java

  1. #1
    Candidat au Club
    Inscrit en
    Juin 2007
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 3
    Points : 2
    Points
    2
    Par défaut problème au niveau de l'héritage, ou autre chose
    bonjour,
    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 récupérant la valeur d'une 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.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
     
     
    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


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
     
    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 j'espère avoir posté où il faut et avoir fait comprendre mon problème.

  2. #2
    Rédacteur
    Avatar de eclesia
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    2 108
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 108
    Points : 3 203
    Points
    3 203
    Par défaut
    houla, c'est bien compliqué tout ca.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
    public class BaseDonnee extends JFrame {
     
    ...
     
    jTextField jTexFieldA = new JTextField
     
    ....
     
    public String getValeur(){
        return jTextFieldA.getText();
    }
     
    ...
     
    }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
     
    public  class MainRet extends JFrame {
     
    ...
     
    private BaseDonnee mafenetrebase;
    private JTextField jTextFieldB = new JTextField();
     
    public MainRet(BaseDonnee fenetrebase){
        mafenetrebase = fenetrebase;
        ...
        majValeur();
    }
     
    private void majValeur(){
        jTextFieldB.setText( mafenetrebase.getValeur() );
    }
    ...
     
    }
    voila qui devrait être mieux.
    Systèmes d'Informations Géographiques
    - Projets : Unlicense.science - Apache.SIS

    Pour un monde sans BigBrother IxQuick ni censure RSF et Les moutons

  3. #3
    Candidat au Club
    Inscrit en
    Juin 2007
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 3
    Points : 2
    Points
    2
    Par défaut merci
    thanks for la réponse!

    Je précise que je suis sous jbuilder

    j'ai vaguement compris ce que tu as écris vu que je suis plutot débutant en java. D'ailleurs entre private ou public je sais pas la différence.


    malheuresement en suivant ton code et en l'intégrant au mieux dans mon fouillis j'ai une erreur.

    Elle se situe au niveau du "main" présent dans la classe MainRet

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
     static public void main(String args[]) {
     
               MainRet fenetrebase = new MainRet(); 
     
    //le mot "new" est souligné par jbuilder. Je crois comprendre qu'il me dit qu'il ne trouve pas le constructeur MainRet.
     
     
                fenetrebase.setVisible(true);
     
     
                BaseDonnee mafenetrebase = new BaseDonnee();
                mafenetrebase.setVisible(true);
     
            }
    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

    @+

  4. #4
    Membre chevronné Avatar de guigui5931
    Profil pro
    Chef de projet NTIC
    Inscrit en
    Avril 2006
    Messages
    1 667
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 667
    Points : 2 232
    Points
    2 232
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
     static public void main(String args[]) {
               BaseDonnee mafenetrebase = new BaseDonnee();
               MainRet fenetrebase = new MainRet(mafenetrebase ); 
               fenetrebase.setVisible(true);
               mafenetrebase.setVisible(true);
            }
    Ca devrait résoudre cette erreur
    autant l'hiver éclate que l'hétéroclite
    le vrai geek c'est celui qui croit qu'il y a 1024 mètres dans un kilomètre

  5. #5
    Rédacteur
    Avatar de CyberChouan
    Homme Profil pro
    Directeur technique
    Inscrit en
    Janvier 2007
    Messages
    2 752
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Janvier 2007
    Messages : 2 752
    Points : 4 314
    Points
    4 314
    Par défaut
    Citation Envoyé par lotus0o
    j'ai vaguement compris ce que tu as écris vu que je suis plutot débutant en java. D'ailleurs entre private ou public je sais pas la différence.
    Oula... la visibilité des variables (et méthodes), c'est pourtant une des bases de java (et plus généralement de la POO). Avant de et lancer dans la programmation d'interfaces, tu devrais te renseigner un peu sur les bases du langage
    Avant de poster, pensez à regarder la FAQ, les tutoriaux, la Javadoc (de la JRE que vous utilisez) et à faire une recherche
    Je ne réponds pas aux questions techniques par MP: les forums sont faits pour ça
    Mes articles et tutoriaux & Mon blog informatique

  6. #6
    Candidat au Club
    Inscrit en
    Juin 2007
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 3
    Points : 2
    Points
    2
    Par défaut voilap
    Bon, j'ai tout essayé, impossible de les mettre en relation ces JFrame des deux classes,
    J'ai donc placé mis qu'une seule classe, un JTabbedPane pour faire des onglets, j'ai mis ma table dans un autre onglet et j'ai pu récupérer mes valeurs tranquillement dans des jtexfields.
    Voici un problème résolu

    @+

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [CSS] Problème au niveau de la résolution
    Par shukin dans le forum Mise en page CSS
    Réponses: 3
    Dernier message: 28/10/2005, 14h29
  2. [PPC][C#][SQL2000] Problème au niveau de donné controlé
    Par Roach dans le forum Windows Forms
    Réponses: 16
    Dernier message: 21/09/2005, 23h08
  3. problème au niveau de restore database
    Par Redouane dans le forum Administration
    Réponses: 2
    Dernier message: 07/09/2005, 12h49
  4. Problème d'affichage d'un navigateur à l'autre !
    Par [Morgan] dans le forum Mise en page CSS
    Réponses: 6
    Dernier message: 10/12/2004, 12h21
  5. [DNS MX]Avec DynDNS.org, problème au niveau du MX
    Par Swoög dans le forum Développement
    Réponses: 9
    Dernier message: 24/08/2004, 23h00

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo