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

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    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
    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 confirmé 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
    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
    Membre averti
    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
    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 Expert
    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
    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
    Membre averti
    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
    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 Expert
    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
    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 ?

Discussions similaires

  1. Récuperer une valeur dans une String
    Par Remedy dans le forum Langage
    Réponses: 6
    Dernier message: 10/02/2011, 11h34
  2. Réponses: 2
    Dernier message: 15/03/2006, 10h13
  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, 14h52
  4. Réponses: 12
    Dernier message: 27/06/2005, 19h06
  5. Réponses: 6
    Dernier message: 24/07/2003, 12h39

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