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

 Java Discussion :

Récuperer une string dans un jtextfield et l'utiliser


Sujet :

Java

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 53
    Points : 29
    Points
    29
    Par défaut Récuperer une string dans un jtextfield et l'utiliser
    Bonjour, je débute en graphique java. J'ai crée deux packages un graphique et l'autre non. Dans une classe graphique j'ai un JTextField qui permet à l'utilisateur du programme d'entrer son identifiant lors de la connexion. Que dois-je écrire dans l' action performed pour obtenir ce qu a été entré par l'utilisateur? Puis comment retrouver cette valeur depuis mon package non graphique alors que la procédure liée au jtextfield est en private?
    Voilà j'espere avoir été assez claire et sinon je suis a votre dispo pour plus de détails.
    Merci d'avance pour votre aide!

  2. #2
    Membre régulier Avatar de stouf()
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    89
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2008
    Messages : 89
    Points : 70
    Points
    70
    Par défaut
    pour récupérer le texte tu prends ton jtextfield.getText() si je me trompe pas.

    Tu peux créer une constante avec un set et un get et dans ton package non graphique aller recherche ta constante.get

    Cordialement

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 53
    Points : 29
    Points
    29
    Par défaut
    Mais comment est ce que je peux retourner la constante? Il ne m'est pas possible d'implémenter dans ma classe graphique une procédure publique qui pourrait le faire (refus du pgm lorsque j'essay d'implementer la procédure). D'ailleurs c'est bizarre que je ne puisse modifier les classes graphiques qu'à partir des procedures actionperformed non?

    Voila j'ai implémenté ma procédure mais elles est mal placée non?

    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
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    /*
     * CFCréerProfil.java
     *
     * Created on 12 février 2009, 21:27
     */
     
    package PFiches;
     
    /**
     *
     * @author  Fanny
     */
    public class CFCréerProfil extends javax.swing.JDialog {
     
     
        /** Creates new form CFCréerProfil */
        public CFCréerProfil(java.awt.Frame parent, boolean modal) {
            super(parent, modal);
            initComponents();
     
        }
     
        //public String get_id(){
            //String id;
            //id=tfIdentifiant.getString();
            //return(id);
        //}
     
        /** This method is called from within the constructor to
         * initialize the form.
         * WARNING: Do NOT modify this code. The content of this method is
         * always regenerated by the Form Editor.
         */
        @SuppressWarnings("unchecked")
        // <editor-fold defaultstate="collapsed" desc="Generated Code">                          
        private void initComponents() {
     
            ltitre = new javax.swing.JLabel();
            lIdentifiant = new javax.swing.JLabel();
            lMotdePasse = new javax.swing.JLabel();
            tfIdentifiant = new javax.swing.JTextField();
            bVérifId = new javax.swing.JButton();
            pfMotdePasse = new javax.swing.JPasswordField();
            bCréer = new javax.swing.JButton();
     
            setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
            setTitle("Création d'un profil");
     
            ltitre.setFont(new java.awt.Font("Tahoma", 0, 18));
            ltitre.setText("Création d'un profil");
     
            lIdentifiant.setText("Entrez votre identifiant :");
     
            lMotdePasse.setText("Entrez votre mot de passe :");
     
            tfIdentifiant.addActionListener(new java.awt.event.ActionListener() {
                public void actionPerformed(java.awt.event.ActionEvent evt) {
                    tfIdentifiantActionPerformed(evt);
                }
            });
     
            bVérifId.setText("Vérifier la disponibilité");
            bVérifId.setToolTipText("Vérifier si l'identifiant proposé est disponible");
            bVérifId.addActionListener(new java.awt.event.ActionListener() {
                public void actionPerformed(java.awt.event.ActionEvent evt) {
                    bVérifIdActionPerformed(evt);
                }
            });
     
            bCréer.setText("Créer");
     
            javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
            getContentPane().setLayout(layout);
            layout.setHorizontalGroup(
                layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addGroup(layout.createSequentialGroup()
                    .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                        .addGroup(layout.createSequentialGroup()
                            .addGap(122, 122, 122)
                            .addComponent(ltitre))
                        .addGroup(layout.createSequentialGroup()
                            .addGap(27, 27, 27)
                            .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                .addComponent(lMotdePasse)
                                .addComponent(lIdentifiant)
                                .addGroup(layout.createSequentialGroup()
                                    .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
                                        .addComponent(pfMotdePasse, javax.swing.GroupLayout.Alignment.LEADING)
                                        .addComponent(tfIdentifiant, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, 154, Short.MAX_VALUE))
                                    .addGap(54, 54, 54)
                                    .addComponent(bVérifId))))
                        .addGroup(layout.createSequentialGroup()
                            .addGap(169, 169, 169)
                            .addComponent(bCréer)))
                    .addContainerGap(30, Short.MAX_VALUE))
            );
            layout.setVerticalGroup(
                layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addGroup(layout.createSequentialGroup()
                    .addContainerGap()
                    .addComponent(ltitre)
                    .addGap(31, 31, 31)
                    .addComponent(lIdentifiant)
                    .addGap(18, 18, 18)
                    .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                        .addComponent(tfIdentifiant, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addComponent(bVérifId))
                    .addGap(40, 40, 40)
                    .addComponent(lMotdePasse)
                    .addGap(18, 18, 18)
                    .addComponent(pfMotdePasse, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 35, Short.MAX_VALUE)
                    .addComponent(bCréer)
                    .addGap(31, 31, 31))
            );
     
            pack();
        }// </editor-fold>                        
     
    private void tfIdentifiantActionPerformed(java.awt.event.ActionEvent evt) {                                              
    // TODO add your handling code here:
    }                                             
     
    private void bVérifIdActionPerformed(java.awt.event.ActionEvent evt) {                                         
    // TODO add your handling code here:
    }                                        
     
     static public String getidentifiant(){
        String id;
        id=tfIdentifiant.getText();
        return(id);
    }
        /**
        * @param args the command line arguments
        */
        public static void main(String args[]) {
     
     
            java.awt.EventQueue.invokeLater(new Runnable() {
                public void run() {
                    CFCréerProfil dialog = new CFCréerProfil(new javax.swing.JFrame(), true);
                     dialog.addWindowListener(new java.awt.event.WindowAdapter() {
                        public void windowClosing(java.awt.event.WindowEvent e) {
                            System.exit(0);
                        }
                    });
                    dialog.setVisible(true);
                }
            });
        }
     
        // Variables declaration - do not modify                     
        private javax.swing.JButton bCréer;
        private javax.swing.JButton bVérifId;
        private javax.swing.JLabel lIdentifiant;
        private javax.swing.JLabel lMotdePasse;
        private javax.swing.JLabel ltitre;
        private javax.swing.JPasswordField pfMotdePasse;
        private javax.swing.JTextField tfIdentifiant;
        // End of variables declaration                   
     
    }

  4. #4
    Membre émérite
    Avatar de gifffftane
    Profil pro
    Inscrit en
    Février 2007
    Messages
    2 354
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire (Rhône Alpes)

    Informations forums :
    Inscription : Février 2007
    Messages : 2 354
    Points : 2 582
    Points
    2 582
    Par défaut
    J'ai l'impression qu'il te manque les bases de visibilité des variables, et je te suggère de faire des exercices plus simples, comme par exemple de faire dialoguer deux objets dans deux paquetages différents, independemment de toute notion de GUI.

    Ici il y a de multiples erreurs, en vrac :
    - définition de getidentifiant en static,
    - ce serait mieux avec getIdentifiant (I majuscule)
    - seul le code généré par l'EDI Netbeans est bon et lisible (je ne sais pas s'il faut le caser dans les erreurs, remarque )

    En ce genre de cas, l'astuce consiste à transmettre à la GUI une interface que matérialise la partie non graphique, avec par exemple une méthode "inscriptionFaite", et, lorsque l'évènement "tfIdentifiantActionPerformed" (ou actionPerformed) apparait, appeler la méthode inscriptionFaite, qui en fait appelle la partie non graphique.

    Les fénéants - et les débutants qui ne maitrisent pas la notion d'interface - peuvent transmettre à la GUI la partie non graphique, mais c'est une tolérance en considérant qu'ils ne recommenceront plus.

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 53
    Points : 29
    Points
    29
    Par défaut
    Meric pour la réponse. Effectivement je n'ai pas du tout les bases mais je dois rendre un projet de java sachant que je n'ai pas eu beaucoup d'heures de courps de conception objet et que je n'ai eu que 4h de cours sur le graphique... J'ai beau revoir tout ce que j'ai fait depuis le début de l'année, je n'ai pas fait d'applications de dialogue entre deux paquetages... et a chaque séance de TP je peux voir le prof que 10 mn donc votre aide m'est très utile
    Donc déjà (je vais vraiment passer pour une attardée là...) c'est quoi le GUI? Et ce que tu essayes de m'expliquer c'est qu'on ne peut pa saller du graphique au non graphique mais l'inverse? Je dois donc faire appel à mes méthodes non graphiques à l'intérieur des méthodes graphiques?
    En tut cas merci bcp pour l'aide accordée

  6. #6
    Membre émérite
    Avatar de gifffftane
    Profil pro
    Inscrit en
    Février 2007
    Messages
    2 354
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire (Rhône Alpes)

    Informations forums :
    Inscription : Février 2007
    Messages : 2 354
    Points : 2 582
    Points
    2 582
    Par défaut
    Heu... GUI j'avoue que je ne sais même plus ce que cela veut dire. Enfin c'est le truc avec des fenêtres des boutons et des images, c'est ce qui se voit.

    Bon allé je fais le prof rapidos ; ta GUI (pardon) :
    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
     
    public class MaFenetre extends JDialog / ou JFrame
    {
     // le constructeur reçoit une interface vers la partie non-UI
     MaFenetre(CommeUnTrucNonUI nonUI)
     {
      // il le sauvegarde dans un attribut d'instance.
      this.nonUI = nonUI;
      // il se met un bouton et l'écoute.
      JButton bout = new JButton();
      bout.addListener(new DuBouton());
      add(bout);
     }
     private CommeUnTrucNonUI nonUI;
     
     // Voici le listener :
     private class DuBouton implements ActionListener
     {
      public void actionPerformed()
      {
       nonUI.auBoulot();
      }
     }
    }
    Pour l'interface :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    public interface CommeUneNonUI
    {
     public void auBoulot();
    }
    Et pour la partie nonUI :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    public class LaNonUI_Agissante implements CommeUneNonUI
    {
     // n'importe quoi qui t'est utile, et aussi :
     MaFenêtre fenetre = new MaFenêtre(this);
     fenêtre.setVisible(true);
     
     public void auBoulot()
     {
      System.out.println("Déjà !? ");
     }
    }
    Attention que c'est juste la trame, et que j'ai pas compilé etc. À partir de là est-ce que tu comprends le principe ?

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 53
    Points : 29
    Points
    29
    Par défaut
    ok merci beaucoup pour le temps consacré, j'ai compris le principe! par contre je n'ai pas d'interfaces seulement des classes regroupée dans un un paquetage. C'est possible de créer une interface même si les classes dont on veut l'implémenter existent deja ( en ajoutant apres la declaration de la classe implements interface ?)
    Autre question : la partie ou l'on déclare la nouvelle classe Dubouton doit apparaitre sur la classe graphique de la fenêtre ou se situe le bouton? Cela me dérange car je n'avais jamais implémenté deux classes sur une même page de code. Et le actionperformed est celui de bouton ou de dubouton?

    D'ailleurs tout sont elles utiles sachant que je travaille avec netbeans et que un double clique sur un composant graphique me permet d'implémenter directement la procédure actionperformed?

    En tout cas merci pour les explications claires et précises

  8. #8
    Membre émérite
    Avatar de gifffftane
    Profil pro
    Inscrit en
    Février 2007
    Messages
    2 354
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire (Rhône Alpes)

    Informations forums :
    Inscription : Février 2007
    Messages : 2 354
    Points : 2 582
    Points
    2 582
    Par défaut
    Ma proposition est juste une trame, un modèle, que l'on peut reprendre de diverses manières.

    Tu peux créer une interface qui reprend les méthodes d'une classe, même si cette classe existe déjà ; il faut juste penser comme tu le dis à modifier la déclaration de ta classe pour qu'elle implements l'interface.

    Tu peux placer la classe DuBouton n'importe où. Tu peux utiliser ce que fait netbeans. Le principe à garder est juste l'appel de auBoulot() de l'interface, dans la chose qui répond à l'appui au bouton.

  9. #9
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 53
    Points : 29
    Points
    29
    Par défaut
    ok merci pour les précisions je vais bosser ça cet aprem!
    Merci beaucoup pour ton aide

  10. #10
    Nouveau membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Décembre 2008
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2008
    Messages : 28
    Points : 28
    Points
    28
    Par défaut
    Sinon pour délimiter le modéle de la partie graphique il existe le pattern MVC.
    Jette y un coup d'oeil à l'occaz :
    http://baptiste-wicht.developpez.com/tutoriel/conception/mvc/

    Bonne chance pour ton projet.

  11. #11
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 53
    Points : 29
    Points
    29
    Par défaut
    J'ai essayé d'ecrire l'interface mais les procédures dont on déclare la signature ne sont pas acceptées si elles sont en static, or beaucoup des procédures que je souhaite utiliser pour le graphique sont des procédures statiques.
    Que dois-je faire alors?

    Par ailleurs, je ne vois pas par quoi remplacer commeunnonui
    MaFenetre(CommeUnTrucNonUI nonUI)
    j'ai crée une interface Interface_accueil.
    Que dois-je écrire pour faire le lien entre la fenetre graphique et l'interface?

  12. #12
    Membre émérite
    Avatar de gifffftane
    Profil pro
    Inscrit en
    Février 2007
    Messages
    2 354
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire (Rhône Alpes)

    Informations forums :
    Inscription : Février 2007
    Messages : 2 354
    Points : 2 582
    Points
    2 582
    Par défaut
    Si tu veux faire les choses bien, supprime toutes tes méthodes statiques et remplaces les par un travail sur des instances d'objet

    Sinon... comme il n'est pas question de faire des interfaces de choses statiques, il faut que tu passes ton niveau non ui en paramètre de la construction de ton niveau ui, mais c'est MAL.

    Avec ton interface accueil : MaFenetre(Interface_accueil nonUI).

    Et puis aussi regardes le pattern MVC comme te le conseille helitik. Il fonctionne sur les mêmes principes, je n'ai rien inventé.

  13. #13
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 53
    Points : 29
    Points
    29
    Par défaut
    Merci pour ces indications. J'ai essayé de faire comme tu m'as dit mais ma prof m'a conseillé de ne faire qu'un paquetage pour tout le programme et que le projet ne prevoit pas la création dinterfaces. Ainsi mes classes UI et non UI sont toutes dans le même paquetage. Or quand je souhaite faire appel à une métode d'une classe non ui dans une classe ui celle-ci n'est pas reconnue -_-' Comment puis-je y remédier?

    voici ma classe non ui:

    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
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    package PFiches;
     
     
    import java.io.*;
    import java.util.Iterator;
    import java.util.LinkedList;
     
    /*
     * To change this template, choose Tools | Templates
     * and open the template in the editor.
     */
     
     
     
    public class Cutilisateur {
        //déclaration des attributs d'objets
        private String identifiant;
        private String mot_de_passe;
        //liste dynamique des photos de l'utilisateur
        private LinkedList<Cphoto> album=new LinkedList<Cphoto>();
        //liste dynamique des identifiants des photos
        private LinkedList<String> album_id = new LinkedList<String>();
     
        //déclaration des attributs de classe
        static private int nb_util;
        //liste des objets instanciés 
        static private LinkedList<Cutilisateur> liste_ut=new LinkedList<Cutilisateur>();
     
     
        //constructeur utilisé lors de l'execution du programme (au début)
        public Cutilisateur(String cop[]){
            //affectation des attributs à partir du tableau de données du fichier texte
            identifiant=cop[0];
            mot_de_passe=cop[1];
            for (int i=2;i<cop.length;i++){
                album_id.add(cop[i]);}
            //ajout de l'utilisateur à la liste des utilisateurs
            liste_ut.add(this);
     
        }
     
        //constructeur urilisé lors de l'inscription
        public Cutilisateur(String id, String mdp){
            //affectation des attributs de l'utilisateur à partir de son inscription
            identifiant=id;
            mot_de_passe=mdp;
            //ajout de l'utilisateur à la liste des utilisateurs
            liste_ut.add(this);
                       }
     
        //Ajout d'un utilisateur dans la liste des membres
        public void ajout_ut(){
            liste_ut.add(this);
      }
     
        //retrait d'un utilisateur de la liste des membres
        public void retrait_ut(){
            liste_ut.remove(this);
        }
     
        //affichage des caractéristiques de l'utilisateur
        public void afficher_infos(){
            System.out.println("identifiant : " + identifiant);
            System.out.println("mot de passe : " + mot_de_passe);
            System.out.println("identifiant des photos : " + album_id);
        }
     
     
        //affichage de la liste de sutilisateurs
        static public void afficher_liste(){
            //déclaration et initialisation d'un itérateur pour parcourir la liste
            Iterator  iter =liste_ut.iterator();
            // tant que toute la liste n'a pas été parcourue, 
            while (iter.hasNext() ){
               Cutilisateur ut =(Cutilisateur) iter.next();
               //affichage des informations de chaque utilisateur
               ut.afficher_infos();
               }
           }
     
        //lecture du fichier contenant les informations de l'utilisateur 
        static void lecture_ut() throws FileNotFoundException, IOException{
        //précision du fichier texte concerné
        String nom_fich="util.txt";
        FileReader fichier = new FileReader (nom_fich); 
        BufferedReader in  = new BufferedReader(fichier);
        String ligne;
        //on commence la lecture à la premiere ligne du fichier
        ligne = in.readLine();
        //tant que l'on n'a pas parcouru tout le fichier, 
        while(ligne!= null){
           String infos[];
           //on découpe la ligne selon les espaces 
           //on remplit le tableau infos avec les mots de la ligne
           infos = ligne.split(" ");
           //instanciation de la classe d'utilisateur
           Cutilisateur ut = new Cutilisateur(infos);
           //on passe à la ligne suivante
           ligne=in.readLine();       
            }
    //test de la procédure  
    // Cutilisateur.afficher_liste();
    //fermeture du fichier
     fichier.close();
    }
     
        //procédure d'écriture du fichier 
        static void enregistrement_fich()throws FileNotFoundException, IOException{
        //création d'un nouveau fichier texte    
        File fichier = new File("util.txt");
        FileWriter out = new FileWriter(fichier);
        //instanciation d'un itérateur pour parcourir la liste d'utilisateurs
        Iterator iter = liste_ut.iterator();
        //tant que l'on n'a pas parcouru toute la liste d'utilisateurs
        while (iter.hasNext()){
            Cutilisateur ut =(Cutilisateur) iter.next();
            //écriture dans le fichier
            out.write(ut.identifiant+" "+ ut.mot_de_passe);
            //instanciation d'un itérateur pour parcourir la liste des identifiants de photos
            Iterator iter2 = ut.album_id.iterator();
            //tant que l'on a pas parcouru la liste
            while (iter2.hasNext()){
                String photo = (String)iter2.next();
                //écriture dans le fichier
                out.write(" "+photo);
            }
            //passage à la ligne dans le fichier
           out.write("\r\n");
        }
        //fermeture du fichier
        out.close();
    }
     
        static public boolean verif_connexion(String identifiant, String mdp){
            Iterator iter = liste_ut.iterator();
            while (iter.hasNext()){
                Cutilisateur ut=(Cutilisateur) iter.next();
                if ((ut.identifiant==identifiant)&&(ut.mot_de_passe==mdp)){
                    return(true);
                }
            }
            return(false);
        }
     
       static public  boolean verif_pseudo_inscription(String pseudo_choisit){
            Iterator iter = liste_ut.iterator();
            while (iter.hasNext()){
                Cutilisateur ut=(Cutilisateur) iter.next();
                if(ut.identifiant==pseudo_choisit){
                    return(false);
                }
            }
            return(false);
        }
     
       static public LinkedList<Cutilisateur> get_liste_ut(){
       return(liste_ut);
       }
     
    }
    et ma classe graphique :

    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
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
    200
    201
    202
    203
    204
    205
    206
    207
    208
    209
    210
    211
    212
    213
    214
    215
    216
    217
    218
    219
    220
    /*
     * CFAccueil.java
     *
     * Created on 11 février 2009, 11:00
     */
     
    package PFiches;
     
     
    import java.io.FileNotFoundException;
    import java.io.IOException;
    import java.util.Iterator;
    import java.util.logging.Level;
    import java.util.logging.Logger;
     
    /**
     *
     * @author  Fanny
     */
    public class CFAccueil extends javax.swing.JFrame {
     
        CFMenu FMenu;
        CFCréerProfil FCréerProfil;
        CFRechercheMC FRechercheMC;
     
     
     
        /** Creates new form CFAccueil */
        public CFAccueil() throws FileNotFoundException, IOException {
            initComponents();
            FCréerProfil = new CFCréerProfil(this,false);
            FRechercheMC = new CFRechercheMC(this,false);
            FMenu = new CFMenu(this,false);
            //Lecture du fichier       
            Cutilisateur.lecture_ut();
     
     
        }
     
        /** This method is called from within the constructor to
         * initialize the form.
         * WARNING: Do NOT modify this code. The content of this method is
         * always regenerated by the Form Editor.
         */
        @SuppressWarnings("unchecked")
        // <editor-fold defaultstate="collapsed" desc="Generated Code">                          
        private void initComponents() {
     
            lTexteaccueil = new javax.swing.JLabel();
            tfNom = new javax.swing.JTextField();
            lTexteaccueil1 = new javax.swing.JLabel();
            pfMotdePasse = new javax.swing.JPasswordField();
            lMotdePasse = new javax.swing.JLabel();
            bOK = new javax.swing.JButton();
            bQuitter = new javax.swing.JButton();
            bCréationProfil = new javax.swing.JButton();
            jSeparator1 = new javax.swing.JSeparator();
     
            setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
            setTitle("Accueil");
            setBackground(java.awt.Color.blue);
     
            lTexteaccueil.setFont(new java.awt.Font("Tahoma", 0, 24));
            lTexteaccueil.setText("Bienvenue sur Mezimages");
     
            tfNom.addActionListener(new java.awt.event.ActionListener() {
                public void actionPerformed(java.awt.event.ActionEvent evt) {
                    tfNomActionPerformed(evt);
                }
            });
     
            lTexteaccueil1.setText("Entrez votre identifiant :");
     
            lMotdePasse.setText("Entrez votre mot de passe :");
     
            bOK.setText("OK");
            bOK.addActionListener(new java.awt.event.ActionListener() {
                public void actionPerformed(java.awt.event.ActionEvent evt) {
                    bOKActionPerformed(evt);
                }
            });
     
            bQuitter.setText("Quitter");
            bQuitter.addActionListener(new java.awt.event.ActionListener() {
                public void actionPerformed(java.awt.event.ActionEvent evt) {
                    bQuitterActionPerformed(evt);
                }
            });
     
            bCréationProfil.setText("Créer un profil");
            bCréationProfil.addActionListener(new java.awt.event.ActionListener() {
                public void actionPerformed(java.awt.event.ActionEvent evt) {
                    bCréationProfilActionPerformed(evt);
                }
            });
     
            jSeparator1.setOrientation(javax.swing.SwingConstants.VERTICAL);
     
            javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
            getContentPane().setLayout(layout);
            layout.setHorizontalGroup(
                layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addGroup(layout.createSequentialGroup()
                    .addContainerGap(56, Short.MAX_VALUE)
                    .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                        .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
                            .addComponent(lTexteaccueil)
                            .addGap(61, 61, 61))
                        .addGroup(layout.createSequentialGroup()
                            .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                                .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
                                    .addComponent(bOK)
                                    .addGap(49, 49, 49))
                                .addComponent(lTexteaccueil1)
                                .addComponent(tfNom, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, 153, Short.MAX_VALUE)
                                .addComponent(lMotdePasse)
                                .addComponent(pfMotdePasse, javax.swing.GroupLayout.Alignment.TRAILING))
                            .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                                .addGroup(layout.createSequentialGroup()
                                    .addGap(117, 117, 117)
                                    .addComponent(bQuitter)
                                    .addContainerGap())
                                .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
                                    .addGap(18, 18, 18)
                                    .addComponent(jSeparator1, javax.swing.GroupLayout.PREFERRED_SIZE, 15, javax.swing.GroupLayout.PREFERRED_SIZE)
                                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                                    .addComponent(bCréationProfil)
                                    .addGap(48, 48, 48))))))
            );
            layout.setVerticalGroup(
                layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addGroup(layout.createSequentialGroup()
                    .addGap(36, 36, 36)
                    .addComponent(lTexteaccueil, javax.swing.GroupLayout.PREFERRED_SIZE, 34, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                        .addGroup(layout.createSequentialGroup()
                            .addGap(81, 81, 81)
                            .addComponent(bCréationProfil))
                        .addGroup(layout.createSequentialGroup()
                            .addGap(34, 34, 34)
                            .addComponent(lTexteaccueil1)
                            .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                            .addComponent(tfNom, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addGap(32, 32, 32)
                            .addComponent(lMotdePasse)
                            .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                            .addComponent(pfMotdePasse, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                            .addComponent(bOK)
                            .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 26, Short.MAX_VALUE)
                            .addComponent(bQuitter))
                        .addGroup(layout.createSequentialGroup()
                            .addGap(18, 18, 18)
                            .addComponent(jSeparator1, javax.swing.GroupLayout.PREFERRED_SIZE, 179, javax.swing.GroupLayout.PREFERRED_SIZE)))
                    .addContainerGap())
            );
     
            pack();
        }// </editor-fold>                        
     
    private void bOKActionPerformed(java.awt.event.ActionEvent evt) {                                    
     
        verif_connexion(tfNom.getText(),pfMotdePasse.getPassword().toString() );   
        this.setVisible(false);
        FMenu.setVisible(true);
     
    }                                   
     
    private void tfNomActionPerformed(java.awt.event.ActionEvent evt) {                                      
    // TODO add your handling code here:
    }                                     
     
    private void bQuitterActionPerformed(java.awt.event.ActionEvent evt) {                                         
            try {
                Cutilisateur.enregistrement_fich();
            } catch (FileNotFoundException ex) {
                Logger.getLogger(CFAccueil.class.getName()).log(Level.SEVERE, null, ex);
            } catch (IOException ex) {
                Logger.getLogger(CFAccueil.class.getName()).log(Level.SEVERE, null, ex);
            }
        System.exit(0);
    }                                        
     
    private void bCréationProfilActionPerformed(java.awt.event.ActionEvent evt) {                                                
    this.setVisible(false);
     FCréerProfil.setVisible(true);
    }                                               
     
        /**
        * @param args the command line arguments
        */
        public static void main(String args[]) {
            java.awt.EventQueue.invokeLater(new Runnable() {
                public void run() {
                    try {
                        new CFAccueil().setVisible(true);
                    } catch (FileNotFoundException ex) {
                        Logger.getLogger(CFAccueil.class.getName()).log(Level.SEVERE, null, ex);
                    } catch (IOException ex) {
                        Logger.getLogger(CFAccueil.class.getName()).log(Level.SEVERE, null, ex);
                    }
                }
            });
        }
     
        // Variables declaration - do not modify                     
        private javax.swing.JButton bCréationProfil;
        private javax.swing.JButton bOK;
        private javax.swing.JButton bQuitter;
        private javax.swing.JSeparator jSeparator1;
        private javax.swing.JLabel lMotdePasse;
        private javax.swing.JLabel lTexteaccueil;
        private javax.swing.JLabel lTexteaccueil1;
        private javax.swing.JPasswordField pfMotdePasse;
        private javax.swing.JTextField tfNom;
        // End of variables declaration                   
     
     
     
    }
    la méthode qui cause problème est verif_connexion qui n'est pas reconnue lorsque j'y fais appel dans ma classe graphique.

    Merci beaucoup pour votre aide

Discussions similaires

  1. Récuperer une valeur dans une String
    Par Remedy dans le forum Langage
    Réponses: 6
    Dernier message: 10/02/2011, 12h34
  2. Réponses: 2
    Dernier message: 15/03/2006, 11h13
  3. Comment enregistrer une string dans un fichier
    Par Dnx dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 23/09/2005, 15h52
  4. Réponses: 12
    Dernier message: 27/06/2005, 20h06
  5. Réponses: 6
    Dernier message: 24/07/2003, 13h39

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