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

Interfaces Graphiques en Java Discussion :

récupérer un JTextfiled


Sujet :

Interfaces Graphiques en Java

  1. #1
    Membre actif
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2013
    Messages
    464
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2013
    Messages : 464
    Points : 203
    Points
    203
    Par défaut récupérer un JTextfiled
    coucou tout le monde...
    j'ai un probléme,j'ai réalisé une interface graphique pour ajouter un client,avec 11 champs,j'aimerai qu'aprés saisir les information sur les champs( JTextfiled)en cliquant sur le bouton valider les texte seront stocker dans ma base de données... ce que j'ai fais moi j'ai déclaré 11variable globale de type String (Nom,Prenom....etc),et j'ai accorder à chaque JTextfiled un actionPerformed qui récupére le texte saisi par exemple quand je saisi le Nom dans le actionPerformed: nom=JTextFiled.getText();
    et dans le bouton valider j'ai accordé acctionPerformed ou la j'ai instancié le client et l'inséré avec les variable récupérées mais le pb dans ma base j'ai tout les champs nuls!!
    je vois pas ce qui peut remplacer mon idées et qui sera plus juste que celle la!
    merci pour votre aide,d'avance

  2. #2
    Membre éprouvé
    Avatar de Cafeinoman
    Homme Profil pro
    Couteau suisse d'une PME
    Inscrit en
    Octobre 2012
    Messages
    628
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Couteau suisse d'une PME

    Informations forums :
    Inscription : Octobre 2012
    Messages : 628
    Points : 1 256
    Points
    1 256
    Par défaut
    Déjà, poste ton code, parce que cest pas très clair... ensuite, à mon avis, un seul ActionListener sur ton bouton qui récupère tout est amplement suffisant.
    «Dieu ne joue pas aux dés.» - Albert Einstein. Et pan! 30 ans de retard dans la théorie quantique!
    «Tout n'est pas politique, mais la politique s'intéresse à tout.» - Nicolas Machiavel. Et surtout à ceux qui ne s'y intéressent pas.

  3. #3
    Membre actif
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2013
    Messages
    464
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2013
    Messages : 464
    Points : 203
    Points
    203
    Par défaut merci Cafeinoman
    voila un extrait de mon code(les instructions necessaire pour m'aider)

    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
    40
    41
    42
    43
     private void jTextField3ActionPerformed(java.awt.event.ActionEvent evt) {                                            
            // TODO add your handling code here:
     
            adr=jTextField3.getText();
     
        }                                           
     
        private void jTextField1ActionPerformed(java.awt.event.ActionEvent evt) {                                            
           nom=jTextFiled1.getText();
        }                                           
     
    //pareil pr le reste des JTextFiled
     
        private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                         
            //bouton valider        
            Acceuil a=new Acceuil();
            this.setVisible(false);
            a.setVisible(true);
     
         Client c=new Client(num,nm,prn,adr,num,pc,sx,am,ic,nf);
            try {
    Class.forName("org.postgresql.Driver");
    String url = "jdbc:postgresql://localhost:5432/Hotel";
    String user = "postgres";
    String passwd = "*****";
    Connection conn = DriverManager.getConnection(url, user,
    passwd);
      String queryz = c._insert();
      	   int r = 0;
    	    Statement stmt=null;
    	   try{
     
    	   stmt = conn.createStatement();
    	   r = stmt.executeUpdate(queryz);
    	   }
    	   catch(Exception e){
    		 // JOptionPane.showMessageDialog(null,"exception due a la requete");
     
    }
    //Création d'un objet Statement pr l’affichage
    Statement state = conn.createStatement();
    //L'objet ResultSet contient le résultat de la requête SQL
    ResultSet result = state.executeQuery("SELECT * FROM clnt");
    Et voila l’affichage :


    Code texte : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    **********************************
    	N	 *	NOM	 *	PRENOM	 *	ADRESSE	 *	NUM	 *	PIECE	 *	SEXE	 *	ADRESSEMAIL	 *	IDCHAMBRE	 *	NUMFACT	 *
    **********************************
    	null	 |	null	 |	null	 |	null	 |	null	 |	null	 | null		 |	null	 |	null	 |	null	 |
    je suis sur de ma requete pcq quand je fais rentrer des String ça m’affiche mes entrées normalement !

    NB:j'ai déclaré nom,adr... comme variable globale et je ne les ai pas initialisé à null

    je vous remercie d'avance

  4. #4
    Membre éprouvé
    Avatar de Cafeinoman
    Homme Profil pro
    Couteau suisse d'une PME
    Inscrit en
    Octobre 2012
    Messages
    628
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Couteau suisse d'une PME

    Informations forums :
    Inscription : Octobre 2012
    Messages : 628
    Points : 1 256
    Points
    1 256
    Par défaut
    Met le code entre balise code, la cest pas lisible. Le petit bouton # dans la barre d'outils. Et fait un copier coller depuis ton ide, c'est impossible qu'elle accepte ce code...
    «Dieu ne joue pas aux dés.» - Albert Einstein. Et pan! 30 ans de retard dans la théorie quantique!
    «Tout n'est pas politique, mais la politique s'intéresse à tout.» - Nicolas Machiavel. Et surtout à ceux qui ne s'y intéressent pas.

  5. #5
    Membre actif
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2013
    Messages
    464
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2013
    Messages : 464
    Points : 203
    Points
    203
    Par défaut
    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
    40
    41
    42
    43
    private void jTextField3ActionPerformed(java.awt.event.ActionEvent evt) {
    // TODO add your handling code here:
     
    adr=jTextField3.getText();
     
    }
     
    private void jTextField1ActionPerformed(java.awt.event.ActionEvent evt) {
    nom=jTextFiled1.getText();
    }
     
    //pareil pr le reste des JTextFiled
     
    private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
    //bouton valider
    Acceuil a=new Acceuil();
    this.setVisible(false);
    a.setVisible(true);
     
    Client c=new Client(num,nm,prn,adr,num,pc,sx,am,ic,nf);
    try {
    Class.forName("org.postgresql.Driver");
    String url = "jdbc:postgresql://localhost:5432/Hotel";
    String user = "postgres";
    String passwd = "*****";
    Connection conn = DriverManager.getConnection(url, user,
    passwd);
    String queryz = c._insert();
    int r = 0;
    Statement stmt=null;
    try{
     
    stmt = conn.createStatement();
    r = stmt.executeUpdate(queryz);
    }
    catch(Exception e){
    // JOptionPane.showMessageDialog(null,"exception due a la requete");
     
    }
    //Création d'un objet Statement pr l’affichage
    Statement state = conn.createStatement();
    //L'objet ResultSet contient le résultat de la requête SQL
    ResultSet result = state.executeQuery("SELECT * FROM clnt");

  6. #6
    Membre éprouvé
    Avatar de Cafeinoman
    Homme Profil pro
    Couteau suisse d'une PME
    Inscrit en
    Octobre 2012
    Messages
    628
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Couteau suisse d'une PME

    Informations forums :
    Inscription : Octobre 2012
    Messages : 628
    Points : 1 256
    Points
    1 256
    Par défaut
    Bon, c'est le bordel ton truc... ça compile?
    Pour la structure dont tu parlais, il te faut un truc dans ce genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
        private void laMethodeQuiCreeLeFormulaire () {
     
             JTextField text1 = new JTextField ();
             JTextField text2 = new JTextField ();
             JButon valider = new JButon ();
             valider.addActionListener( new ActionListener (
     
                    @Override
                    public void actionPerformed ( ActionEvent e ) {
                            nom = text1.getText ();
                            // etc
                    });
         }
    tu vois l'idée? Après tu devrais mieux séparer les fonctions dans différentes classes. La vue et l'accès base dans la même c'est pas propre. ..
    «Dieu ne joue pas aux dés.» - Albert Einstein. Et pan! 30 ans de retard dans la théorie quantique!
    «Tout n'est pas politique, mais la politique s'intéresse à tout.» - Nicolas Machiavel. Et surtout à ceux qui ne s'y intéressent pas.

  7. #7
    Membre actif
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2013
    Messages
    464
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2013
    Messages : 464
    Points : 203
    Points
    203
    Par défaut
    je travaille sur netBeans (visuel editor) et c'est comme ça la fenetre ajouter client!
    je ne vois pas une différence entre mon code et votre idée,le pb dans mon code c'est que les variable change que localement et quand je les utilise ça prend null,alors ce que je veux moi quand j'execute JTextField.getText() je veux que la variable change globalement pas suelement au niveau local ,vous voyez le truck??

    NB oui ça compile bien

  8. #8
    Membre éprouvé
    Avatar de Cafeinoman
    Homme Profil pro
    Couteau suisse d'une PME
    Inscrit en
    Octobre 2012
    Messages
    628
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Couteau suisse d'une PME

    Informations forums :
    Inscription : Octobre 2012
    Messages : 628
    Points : 1 256
    Points
    1 256
    Par défaut
    Personnellement j'ai tendance a éviter les editeurs visuel...
    Le truc c'est que les actionPerformed de tes JTextField ne sont jamais appelé, donc comme tu fait les getText () dans des méthodes pas appelés, tes champs restent null. D'où ma suggestion de tout appeler dans ton bouton sans ajouter des des listener "qui ne servent pas" .
    «Dieu ne joue pas aux dés.» - Albert Einstein. Et pan! 30 ans de retard dans la théorie quantique!
    «Tout n'est pas politique, mais la politique s'intéresse à tout.» - Nicolas Machiavel. Et surtout à ceux qui ne s'y intéressent pas.

  9. #9
    Membre actif
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2013
    Messages
    464
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2013
    Messages : 464
    Points : 203
    Points
    203
    Par défaut
    je suis à la réalisation de deux projet de gestion celui la un projet simple qui ne vas pas etre mis en marche,et une autre application qui doit etre mise en marche j'ai pas le temps à manipuler toute seule les interface vu mon temps limité
    j'ai absorbé votre idée ,je vais vite l'appliquer et on verra bien
    merci de m'avoir donner de votre temps

  10. #10
    Membre actif
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2013
    Messages
    464
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2013
    Messages : 464
    Points : 203
    Points
    203
    Par défaut
    merci François de m'avoir aider,j'ai suivi vos conseil ,j'ai effacé les action inutile et j'ai instancier le client dans le boutton avec non du JTextField.getText() l'idée qui m'a échappée et m'a bloqué c'est que les JTextField étaient private mtn public ça marche ...
    cordialement

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

Discussions similaires

  1. Comment récupérer le nom du fichier sans l'extension ?
    Par altahir007 dans le forum Langage
    Réponses: 16
    Dernier message: 13/11/2009, 13h20
  2. Récupérer 10 nb différents avec un calcul aléatoire
    Par BXDSPORT dans le forum Langage
    Réponses: 3
    Dernier message: 04/08/2002, 02h35
  3. récupérer la valeur de sortie d'un thread
    Par jakouz dans le forum Langage
    Réponses: 3
    Dernier message: 31/07/2002, 11h28
  4. Réponses: 11
    Dernier message: 23/07/2002, 14h33
  5. Comment récupérer une adresse MAC ?
    Par psau dans le forum Développement
    Réponses: 7
    Dernier message: 19/07/2002, 17h26

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