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 :

Sauvegarde des noms des personnes authentifiées


Sujet :

Java

  1. #1
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2015
    Messages
    132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Mars 2015
    Messages : 132
    Points : 67
    Points
    67
    Par défaut Sauvegarde des noms des personnes authentifiées
    bonjour,
    j'ai fait une page d'authentification d'une application qui est liée a une base de donnée MYSQL pour confirmer le nom du personne qui a l'accés .je veux sauvegarder le nom du personne qui ,une fois, accède a l'application de facon que lorsque ce nom veut accéder a l'application la prochaine fois il trouve son nom sauvegarder sur le pc et évite la confirmation avec la base de données MYSQL.
    merci d'avance.

  2. #2
    Modérateur
    Avatar de wax78
    Homme Profil pro
    Chef programmeur
    Inscrit en
    Août 2006
    Messages
    4 072
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

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

    Informations forums :
    Inscription : Août 2006
    Messages : 4 072
    Points : 7 974
    Points
    7 974
    Par défaut
    Il suffit de créer un fichier sur le PC après que l'utilisateur ait rentré ses informations et de réutiliser ce fichier (s'il existe) par la suite pour retrouver son "nom".

    Un fichier Properties par exemple.
    (Les "ça ne marche pas", même écrits sans faute(s), vous porteront discrédit ad vitam æternam et malheur pendant 7 ans)

    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Ou utiliser les préférences.
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  4. #4
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2015
    Messages
    132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Mars 2015
    Messages : 132
    Points : 67
    Points
    67
    Par défaut
    merci pour votre réponse.Mais , je parle d'une application desktop et j'utilise le netbeans.

  5. #5
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par nabil123456 Voir le message
    merci pour votre réponse.Mais , je parle d'une application desktop et j'utilise le netbeans.
    Oui, on avait compris que c'était une application Desktop (cela dit en relisant la question, on aurait dû avoir des doutes et pencher plus pour une application web en fait)... et alors ? Par contre NetBeans IDE, Eclipse IDE, Intellij, ou autre, ça ne change rien, à priori. A moins que ça soit du Eclipse RCP, qui inclue sont propre support de préférences (les autres, je ne sais pas).
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  6. #6
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2015
    Messages
    132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Mars 2015
    Messages : 132
    Points : 67
    Points
    67
    Par défaut
    Merci pour votre réponse. J'ai lu le lien http://java.developpez.com/faq/java/...refUtilisateur mais je ne sais pas où il faut mettre le code. Merci.

  7. #7
    Modérateur
    Avatar de wax78
    Homme Profil pro
    Chef programmeur
    Inscrit en
    Août 2006
    Messages
    4 072
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

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

    Informations forums :
    Inscription : Août 2006
    Messages : 4 072
    Points : 7 974
    Points
    7 974
    Par défaut
    Une partie (la sauvegarde) va se mettre après que l'utilisateur ait rentré ses informations et qu'elles soient confirmées.
    L'autre sera mise avant de lui demander (si la sauvegarde existe).
    (Les "ça ne marche pas", même écrits sans faute(s), vous porteront discrédit ad vitam æternam et malheur pendant 7 ans)

    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  8. #8
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Comme dit @Wax78,

    2 aspects :

    • sauvegarder le nom entré par l'utilisateur dans une préférence : le code qui fait ça doit être mis à un endroit où on peut récupérer le nom saisi. Par exemple, ça peut être au même endroit où tu récupères le nom pour établir la connexion ;
    • Récupérer le nom sauvegardé dans les préférences, pour qu'il s'affiche par défaut dans le champ : on peut mettre le code qui fait ça dans le code qui construit le dialogue, au moment de créer le champ.


    Le plus simple pour toi est que tu fasses une classe avec 2 méthodes statiques : par exemple, void saveUserName(String userName) pour sauvegarde le nom de l'utilisateur dans les préférences, et String getLastUserName() pour lire le nom précédemment sauvegardé.

    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
    public class AppPreferences {
     
    	private static final String USERNAME_PREFERENCE_KEY = "connection.lastusername"; // une clef pour la préférence, pour la retrouver (à toi de choisir le nom qui te convient)
     
    	public static void saveUserName(String userName) {
    		Objects.requireNonNull(userName, "User name could'nt be null."); // on refuse les null
    		if ( userName.trim().isEmpty() ) throw new IllegalArgumentException("User name couln't be empty."); // on refuse les chaines vides (éventuellement) 
    		Preferences prefs = Preferences.userRoot(); // on sauvegarde la préférence pour l'utilisateur actuel
    		prefs.put(USERNAME_PREFERENCE_KEY, userName); // on sauvegarde username dans la préférence
    	}
     
    	public static String getLastUserName() {
    		Preferences prefs = Preferences.userRoot(); // on récupère les préférences de l'utilisateur actuel
    		return prefs.get(USERNAME_PREFERENCE_KEY, ""); // on lit la préférence username 
    	}
     
    }
    Et à utiliser donc comme ça par exemple :

    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
    public class LoginDemo extends JPanel {
     
    	private static final long serialVersionUID = 1L;
     
    	private JTextField userNameField;
    	private JPasswordField passwordField;
     
    	private JButton buttonLogin;
    	private JButton buttonCancel;
     
     
    	public LoginDemo() {
    		setLayout(new GridBagLayout());
    		Insets insets = new Insets(2,2,2,2);
     
    		add(new JLabel("Nom : "), new GridBagConstraints(0, 0, 1, 1, 1, 0, GridBagConstraints.BASELINE_TRAILING, GridBagConstraints.NONE, insets, 0, 0));
     
    		userNameField = new JTextField( AppPreferences.getLastUserName(), 20 );
    		add(userNameField, new GridBagConstraints(1, 0, 1, 1, 1, 0, GridBagConstraints.BASELINE_LEADING, GridBagConstraints.BOTH, insets, 0, 0));
     
    		add(new JLabel("Mot de passe: "), new GridBagConstraints(0, 1, 1, 1, 1, 0, GridBagConstraints.BASELINE_TRAILING, GridBagConstraints.NONE, insets, 0, 0));
     
    		passwordField = new JPasswordField(20);
    		add(passwordField , new GridBagConstraints(1, 1, 1, 1, 1, 0, GridBagConstraints.BASELINE_LEADING, GridBagConstraints.BOTH, insets, 0, 0));
     
    		JPanel buttonPanel = new JPanel(new FlowLayout(FlowLayout.RIGHT));
    		add(buttonPanel , new GridBagConstraints(0, 2, 2, 2, 1, 0, GridBagConstraints.BASELINE, GridBagConstraints.BOTH, insets, 0, 0));
     
    		buttonLogin = new JButton("Connexion");
    		buttonLogin.setEnabled(false);
    		buttonPanel.add(buttonLogin);
    		buttonLogin.addActionListener(e-> connection());
     
    		buttonCancel = new JButton("Annuler");
    		buttonPanel.add(buttonCancel);
    		buttonCancel.addActionListener(e-> SwingUtilities.getWindowAncestor(this).dispatchEvent(new WindowEvent(
    				SwingUtilities.getWindowAncestor(this), WindowEvent.WINDOW_CLOSING)));
     
    		DocumentListener documentListener = new DocumentListener() {
     
    			@Override
    			public void removeUpdate(DocumentEvent e) { 
    				handleLoginButton();
    			}
     
    			@Override
    			public void insertUpdate(DocumentEvent e) { 
    				handleLoginButton();
    			}
     
    			@Override
    			public void changedUpdate(DocumentEvent e) { 
    				handleLoginButton();
    			}
     
    			private void handleLoginButton() {
    				buttonLogin.setEnabled(!userNameField.getText().isEmpty()&&passwordField.getPassword().length!=0);
    			}
    		};
    		userNameField.getDocument().addDocumentListener(documentListener);
    		passwordField.getDocument().addDocumentListener(documentListener);
     
    	}
     
     
    	private void connection() {
    		String userName = userNameField.getText();
    		if ( !userName.isEmpty() ) {
    			char[] password = passwordField.getPassword();
    			if ( verifyPassword(userName, password) ) {
    				AppPreferences.saveUserName(userName);
    				doConnection(userName);
    			}
    		}
    	}
     
    	private boolean verifyPassword(String userName, char[] password) {
    		return ...; // tu fais la vérification du mot de passe
    	}
     
    	private void doConnection(String userName) {
    		// ce que tu dois faire...
    	}
     
    	public static void main(String[] args) {
     
    		JFrame frame = new JFrame("Démo connexion");
    	 	frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    		frame.getContentPane().add(new LoginDemo());
    		frame.pack();
    		frame.setResizable(false);
    		frame.setLocationRelativeTo(null);
    		frame.setVisible(true);
     
    	}
     
    }
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  9. #9
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2015
    Messages
    132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Mars 2015
    Messages : 132
    Points : 67
    Points
    67
    Par défaut
    merci

  10. #10
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2015
    Messages
    132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Mars 2015
    Messages : 132
    Points : 67
    Points
    67
    Par défaut
    merci pour vos réponses . mais, le code que j'utilise est un peu plus complexe de facon que j'ai pas connu le bon emplacement de code a saisir.
    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
    221
    222
    223
    224
    225
    226
    227
    228
    229
    230
    231
    232
    233
    234
    235
    236
    237
    238
    239
    240
    241
    242
    243
    244
    245
    246
    247
    248
    249
    250
    251
    252
    253
    254
    255
    256
    257
    258
    259
    260
    261
    262
    263
    264
    265
    266
    267
    268
    269
    270
    271
    272
    273
    274
    275
    276
    277
    278
    279
    280
    281
    282
    283
    284
    285
    286
    287
    288
    289
    290
    291
    292
    293
    294
    295
    296
    297
    298
    299
    300
    301
    302
    303
    304
    305
    306
    307
    308
    309
    310
    311
    312
    313
    314
    315
    316
    317
    318
    319
    320
    321
    322
    323
    324
    325
    326
    327
    328
    329
    330
    331
    332
    333
    334
    335
    336
    337
    338
    339
    340
    341
    342
    343
    344
    345
    346
    347
    348
    349
    350
    351
    352
    353
    354
    355
    356
    357
    358
    359
    360
    361
    362
    363
    364
    365
    366
    367
    368
    369
    370
    371
    372
    373
    374
    375
    376
    377
    378
    379
    package application.backoffice1;
     
    /*Importation des différents bibliothéques
      les bibliothéques pour établir la connexion à la DB
      les bibliothéques de gestion des requetes SQL
    */
     
    import java.sql.Connection;
    import static java.sql.DriverManager.getConnection;
    import static java.sql.DriverManager.getConnection;
    import java.sql.ResultSet;
    import java.sql.Statement;
    import java.util.prefs.Preferences;
     
    /**
     *
     * @author nabil.khedhri.stg
     */
     
    public class login extends javax.swing.JFrame {
     
        /*
         * Creates new form login
        */
     
        //Déclaration des variables de connexion à la base et de la gestion des requetes
     
        Connection con=null;
        ResultSet rs=null;
        Statement stmt=null;
     
        //construction de la fenetre login   
        public login() {
           initComponents();
            this.setResizable(false);
            this.pack();
            java.awt.Dimension screenSize = java.awt.Toolkit.getDefaultToolkit().getScreenSize();
            this.setLocation(
            (screenSize.width-this.getWidth())/2,
            (screenSize.height-this.getHeight())/2);
        }
     
     
        /**
         * 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() {
     
            Login = new javax.swing.JPanel();
            jTextField1 = new javax.swing.JTextField();
            jButton1 = new javax.swing.JButton();
            jLabel1 = new javax.swing.JLabel();
            jLabel2 = new javax.swing.JLabel();
            jButton2 = new javax.swing.JButton();
            p1 = new javax.swing.JLabel();
            p2 = new javax.swing.JLabel();
            jPasswordField1 = new javax.swing.JPasswordField();
            jLabel3 = new javax.swing.JLabel();
            jLabel4 = new javax.swing.JLabel();
     
            setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
            setTitle("Login");
            addWindowListener(new java.awt.event.WindowAdapter() {
                public void windowOpened(java.awt.event.WindowEvent evt) {
                    formWindowOpened(evt);
                }
            });
     
            Login.setBackground(new java.awt.Color(255, 255, 255));
            Login.setBorder(new javax.swing.border.LineBorder(new java.awt.Color(0, 0, 0), 1, true));
            Login.setPreferredSize(new java.awt.Dimension(517, 271));
     
            jTextField1.addActionListener(new java.awt.event.ActionListener() {
                public void actionPerformed(java.awt.event.ActionEvent evt) {
                    jTextField1ActionPerformed(evt);
                }
            });
     
            jButton1.setText("LOGIN");
            jButton1.addActionListener(new java.awt.event.ActionListener() {
                public void actionPerformed(java.awt.event.ActionEvent evt) {
                    jButton1ActionPerformed(evt);
                }
            });
            jButton1.addKeyListener(new java.awt.event.KeyAdapter() {
                public void keyTyped(java.awt.event.KeyEvent evt) {
                    jButton1KeyTyped(evt);
                }
            });
     
            jLabel1.setFont(new java.awt.Font("Tahoma", 0, 14)); // NOI18N
            jLabel1.setText("User name");
     
            jLabel2.setFont(new java.awt.Font("Tahoma", 0, 14)); // NOI18N
            jLabel2.setText("Password");
     
            jButton2.setText("QUIT");
            jButton2.addActionListener(new java.awt.event.ActionListener() {
                public void actionPerformed(java.awt.event.ActionEvent evt) {
                    jButton2ActionPerformed(evt);
                }
            });
            jButton2.addKeyListener(new java.awt.event.KeyAdapter() {
                public void keyTyped(java.awt.event.KeyEvent evt) {
                    jButton2KeyTyped(evt);
                }
            });
     
            p1.setFont(new java.awt.Font("Times New Roman", 0, 14)); // NOI18N
            p1.setForeground(new java.awt.Color(204, 51, 0));
     
            p2.setFont(new java.awt.Font("Tahoma", 0, 14)); // NOI18N
            p2.setForeground(new java.awt.Color(0, 0, 255));
            p2.setText("              ");
     
            jLabel4.setIcon(new javax.swing.ImageIcon(getClass().getResource("/application/backoffice1/Ooredoo_Logo.png"))); // NOI18N
     
            javax.swing.GroupLayout LoginLayout = new javax.swing.GroupLayout(Login);
            Login.setLayout(LoginLayout);
            LoginLayout.setHorizontalGroup(
                LoginLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addGroup(LoginLayout.createSequentialGroup()
                    .addComponent(jLabel4, javax.swing.GroupLayout.PREFERRED_SIZE, 450, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addGap(255, 255, 255)
                    .addComponent(jLabel3)
                    .addGap(0, 0, Short.MAX_VALUE))
                .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, LoginLayout.createSequentialGroup()
                    .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addGroup(LoginLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                        .addGroup(LoginLayout.createSequentialGroup()
                            .addComponent(jLabel2, javax.swing.GroupLayout.PREFERRED_SIZE, 72, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                            .addComponent(jPasswordField1, javax.swing.GroupLayout.PREFERRED_SIZE, 138, javax.swing.GroupLayout.PREFERRED_SIZE))
                        .addGroup(LoginLayout.createSequentialGroup()
                            .addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 72, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                            .addComponent(jTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, 138, javax.swing.GroupLayout.PREFERRED_SIZE)))
                    .addGap(337, 337, 337))
                .addGroup(LoginLayout.createSequentialGroup()
                    .addGap(206, 206, 206)
                    .addGroup(LoginLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                        .addGroup(LoginLayout.createSequentialGroup()
                            .addComponent(jButton1)
                            .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                            .addComponent(jButton2))
                        .addGroup(LoginLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(p1, javax.swing.GroupLayout.PREFERRED_SIZE, 236, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(p2, javax.swing.GroupLayout.PREFERRED_SIZE, 153, javax.swing.GroupLayout.PREFERRED_SIZE)))
                    .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
            );
            LoginLayout.setVerticalGroup(
                LoginLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addGroup(LoginLayout.createSequentialGroup()
                    .addGroup(LoginLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                        .addGroup(LoginLayout.createSequentialGroup()
                            .addGap(20, 20, 20)
                            .addComponent(jLabel3))
                        .addComponent(jLabel4, javax.swing.GroupLayout.PREFERRED_SIZE, 99, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                    .addGroup(LoginLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                        .addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 20, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addComponent(jTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                    .addGroup(LoginLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                        .addComponent(jLabel2, javax.swing.GroupLayout.PREFERRED_SIZE, 20, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addComponent(jPasswordField1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(p1, javax.swing.GroupLayout.PREFERRED_SIZE, 24, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                    .addComponent(p2, javax.swing.GroupLayout.PREFERRED_SIZE, 23, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                    .addGroup(LoginLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                        .addComponent(jButton2)
                        .addComponent(jButton1))
                    .addContainerGap())
            );
     
            javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
            getContentPane().setLayout(layout);
            layout.setHorizontalGroup(
                layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addComponent(Login, javax.swing.GroupLayout.PREFERRED_SIZE, 450, Short.MAX_VALUE)
            );
            layout.setVerticalGroup(
                layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addComponent(Login, javax.swing.GroupLayout.DEFAULT_SIZE, 278, Short.MAX_VALUE)
            );
     
            pack();
        }// </editor-fold>                        
     
        private void formWindowOpened(java.awt.event.WindowEvent evt) {                                  
            // TODO add your handling code here:
     
        }                                 
     
        /*Action du bouton QUIT activ avec la souris
          Ce bouton permet de fermer la fenetre d'authentification
        */
        private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {                                         
            // TODO add your handling code here:
            System.exit(0);
        }                                        
     
        /*Action du bouton LOGIN activ avec la souris
          Ce bouton permet de valider l'identité de la personne selon les champs remplies
        */
        private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                         
     
            // TODO add your handling code here:
              try
            {
                //connexion à la BD
     
               //con = getConnection("jdbc:mysql://localhost:3306/base_rapport_tt","root","");
     
                //la requete SQL permettant de sélectionner les colonnes correspondantes aux chmps du formulaire
     
                String Sql="Select  username,password   from   acteur    where username ='"+jTextField1.getText()+"'and password ='" +jPasswordField1.getText()+"'";
     
     
                //exécution de la requete SQL et stockage des résultats rendus
     
                Statement st=con.createStatement();
                ResultSet rs=st.executeQuery(Sql);
     
                //validation de l'identité'
     
                if (rs.next()){
     
                    //fermeture de la fenetre login et lancement de la fentre principale si l'identité est valide
                    //JOptionPane.showMessageDialog(this,"welcome "+jTextField1.getText());
     
                    p2.setText("welcome "+jTextField1.getText());
                    p1.setText("");
                    Principale s = new Principale();
                    s.setVisible(true);
                    this.dispose();
                     Preferences prefs = Preferences.systemRoot();
              String username = prefs.get("username","nader");
     
                }
                else
                {
                    //sinon un message d'erreur sera délivré
                    //JOptionPane.showMessageDialog(this,"invalid username or password");
     
                    p1.setText("Invalid user name or password");
     
                }
            }
            catch (Exception e) {
     
                p1.setText("No data base connection");
            }
     
        }                                        
     
        /*Action du bouton LOGIN active avec la touche Eter
          Ce bouton permet de valider l'identité de la personne selon les champs remplies
        */
     
        private void jButton1KeyTyped(java.awt.event.KeyEvent evt) {                                  
            // TODO add your handling code here:
           //   prefs.put("username","nader1");
            try
            {
                // le meme déroulement qu'en action performed
     
                String Sql="Select  username,password   from   personne    where username ='"+jTextField1.getText()+"'and password ='" +jPasswordField1.getText()+"'";
              // con = getConnection("jdbc:mysql://localhost:3306/base_rapport_tt","root","");
     
     
     
     
     
     
                Statement st=con.createStatement();
                ResultSet rs=st.executeQuery(Sql);
                if (rs.next()){
     
                    //JOptionPane.showMessageDialog(this,"welcome "+jTextField1.getText());
                    p2.setText("welcome "+jTextField1.getText());
                    p1.setText("");
                    Principale s = new Principale();
                    s.setVisible(true);
                    this.dispose();
                    Preferences prefs = Preferences.systemRoot();
               String username = prefs.get("username","nader");
     
     
                }
                else
                {
                    //JOptionPane.showMessageDialog(this,"invalid username or password");
     
                    p1.setText("Invalid user name or password");
     
                }
            }
            catch (Exception e) {
                //JOptionPane.showMessageDialog(this,"Empty");
                p1.setText("No data base connection");
            }      
     
     
        }                                 
     
        /*Action du bouton QUIT activ avec la touche Enter
          Ce bouton permet de fermer la fenetre d'authentification
        */
     
        private void jButton2KeyTyped(java.awt.event.KeyEvent evt) {                                  
            // TODO add your handling code here:
            System.exit(0); 
        }                                 
     
        private void jTextField1ActionPerformed(java.awt.event.ActionEvent evt) {                                            
     // TODO add your handling code here:
        }                                           
     
        /**
         * @param args the command line arguments
         */
        public static void main(String args[]) {
            /* Set the Nimbus look and feel */
            //<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
            /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
             * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html 
             */
            try {
                for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
                    if ("Nimbus".equals(info.getName())) {
                        javax.swing.UIManager.setLookAndFeel(info.getClassName());
                        break;
                    }
                }
            } catch (ClassNotFoundException ex) {
                java.util.logging.Logger.getLogger(login.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
            } catch (InstantiationException ex) {
                java.util.logging.Logger.getLogger(login.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
            } catch (IllegalAccessException ex) {
                java.util.logging.Logger.getLogger(login.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
            } catch (javax.swing.UnsupportedLookAndFeelException ex) {
                java.util.logging.Logger.getLogger(login.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
            }
            //</editor-fold>
     
            /* Create and display the form */
            java.awt.EventQueue.invokeLater(new Runnable() {
                public void run() {
     
                    //lancement de la fenetre login
     
                    new login().setVisible(true);
     
                }
            });
        }
     
        // Variables declaration - do not modify                     
        private javax.swing.JPanel Login;
        private javax.swing.JButton jButton1;
        private javax.swing.JButton jButton2;
        private javax.swing.JLabel jLabel1;
        private javax.swing.JLabel jLabel2;
        private javax.swing.JLabel jLabel3;
        private javax.swing.JLabel jLabel4;
        private javax.swing.JPasswordField jPasswordField1;
        private javax.swing.JTextField jTextField1;
        private javax.swing.JLabel p1;
        private javax.swing.JLabel p2;
        // End of variables declaration                   
    }
    .merci

  11. #11
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    C'est exactement la même chose :

    1. Tu créés ton champs de saisie de login en ligne 55 par jTextField1 = new javax.swing.JTextField();Donc, là, tu lui passes en paramètre la valeur de la préférence, lue dans les préférences, comme dans mon exemple.
    2. Et la connexion est validée en ligne 234 par if (rs.next()){. D'ailleurs tu fais même juste après : p2.setText("welcome "+jTextField1.getText());, et, ben, à la place de mettre "welcome trucmuche" dans je ne sais quel champ, tu sauvegardes la valeur de trucmuche dans les préférences.


    Et avec la classe de préférences que je t'ai donnée, avec un minimum d'adaptation (le nom de la pref), y'a juste une méthode à appeler à chacun des deux endroits.
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  12. #12
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2015
    Messages
    132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Mars 2015
    Messages : 132
    Points : 67
    Points
    67
    Par défaut
    merci pour votre réponse .j'ai fait ce que vous demandez sauf la première parceque la commande se faite graphiquement et n'est pas modifiable.
    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
    /*
     * To change this license header, choose License Headers in Project Properties.
     * To change this template file, choose Tools | Templates
     * and open the template in the editor.
     */
     
    package application.backoffice1;
     
    import java.util.Objects;
    import java.util.prefs.Preferences;
    import javax.swing.JFrame;
    /**
     *
     * @author nabil.khedhri.stg
     */
     
    public class AppPreferences {
     
    private static final String USERNAME_PREFERENCE = "connection.lastusername"; // une clef pour la préférence, pour la retrouver (à toi de choisir le nom qui te convient)
     
    public static void saveUserName(String username) {
    	Objects.requireNonNull(username, "User name could'nt be null."); // on refuse les null
    if ( username.trim().isEmpty() ) throw new IllegalArgumentException("User name couln't be empty."); // on refuse les chaines vides (éventuellement) 
    	Preferences prefs = Preferences.userRoot(); // on sauvegarde la préférence pour l'utilisateur actuel
    	prefs.put(USERNAME_PREFERENCE, username); // on sauvegarde username dans la préférence
    	}
     
    public static String getLastUserName() {
    		Preferences prefs = Preferences.userRoot(); // on récupère les préférences de l'utilisateur actuel
    		return prefs.get(USERNAME_PREFERENCE, ""); // on lit la préférence username 
    	}
     
    }
    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
    221
    222
    223
    224
    225
    226
    227
    228
    229
    230
    231
    232
    233
    234
    235
    236
    237
    238
    239
    240
    241
    242
    243
    244
    245
    246
    247
    248
    249
    250
    251
    252
    253
    254
    255
    256
    257
    258
    259
    260
    261
    262
    263
    264
    265
    266
    267
    268
    269
    270
    271
    272
    273
    274
    275
    276
    277
    278
    279
    280
    281
    282
    283
    284
    285
    286
    287
    288
    289
    290
    291
    292
    293
    294
    295
    296
    297
    298
    299
    300
    301
    302
    303
    304
    305
    306
    307
    308
    309
    310
    311
    312
    313
    314
    315
    316
    317
    318
    319
    320
    321
    322
    323
    324
    325
    326
    327
    328
    329
    330
    331
    332
    333
    334
    335
    336
    337
    338
    339
    340
    341
    342
    343
    344
    345
    346
    347
    348
    349
    350
    351
    352
    353
    354
    355
    356
    357
    358
    359
    360
    361
    362
    363
    364
    365
    366
    367
    368
    369
    370
    371
    372
    373
    374
    375
    376
    377
     
     
    package application.backoffice1;
     
    /*Importation des différents bibliothéques
      les bibliothéques pour établir la connexion à la DB
      les bibliothéques de gestion des requetes SQL
    */
     
    import java.sql.Connection;
    import static java.sql.DriverManager.getConnection;
    import static java.sql.DriverManager.getConnection;
    import java.sql.ResultSet;
    import java.sql.Statement;
    import java.util.prefs.Preferences;
     
    /**
     *
     * @author nabil.khedhri.stg
     */
     
    public class login extends javax.swing.JFrame {
     
        /*
         * Creates new form login
        */
     
        //Déclaration des variables de connexion à la base et de la gestion des requetes
     
        Connection con=null;
        ResultSet rs=null;
        Statement stmt=null;
        private String USERNAME_PREFERENCE;
     
        //construction de la fenetre login   
        public login() {
           initComponents();
            this.setResizable(false);
            this.pack();
            java.awt.Dimension screenSize = java.awt.Toolkit.getDefaultToolkit().getScreenSize();
            this.setLocation(
            (screenSize.width-this.getWidth())/2,
            (screenSize.height-this.getHeight())/2);
        }
     
     
        /**
         * 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() {
     
            Login = new javax.swing.JPanel();
            jTextField1 = new javax.swing.JTextField();
            jButton1 = new javax.swing.JButton();
            jLabel1 = new javax.swing.JLabel();
            jLabel2 = new javax.swing.JLabel();
            jButton2 = new javax.swing.JButton();
            p1 = new javax.swing.JLabel();
            p2 = new javax.swing.JLabel();
            jPasswordField1 = new javax.swing.JPasswordField();
            jLabel3 = new javax.swing.JLabel();
            jLabel4 = new javax.swing.JLabel();
     
            setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
            setTitle("Login");
            addWindowListener(new java.awt.event.WindowAdapter() {
                public void windowOpened(java.awt.event.WindowEvent evt) {
                    formWindowOpened(evt);
                }
            });
     
            Login.setBackground(new java.awt.Color(255, 255, 255));
            Login.setBorder(new javax.swing.border.LineBorder(new java.awt.Color(0, 0, 0), 1, true));
            Login.setPreferredSize(new java.awt.Dimension(517, 271));
     
            jTextField1.addActionListener(new java.awt.event.ActionListener() {
                public void actionPerformed(java.awt.event.ActionEvent evt) {
                    jTextField1ActionPerformed(evt);
                }
            });
     
            jButton1.setText("LOGIN");
            jButton1.addActionListener(new java.awt.event.ActionListener() {
                public void actionPerformed(java.awt.event.ActionEvent evt) {
                    jButton1ActionPerformed(evt);
                }
            });
            jButton1.addKeyListener(new java.awt.event.KeyAdapter() {
                public void keyTyped(java.awt.event.KeyEvent evt) {
                    jButton1KeyTyped(evt);
                }
            });
     
            jLabel1.setFont(new java.awt.Font("Tahoma", 0, 14)); // NOI18N
            jLabel1.setText("User name");
     
            jLabel2.setFont(new java.awt.Font("Tahoma", 0, 14)); // NOI18N
            jLabel2.setText("Password");
     
            jButton2.setText("QUIT");
            jButton2.addActionListener(new java.awt.event.ActionListener() {
                public void actionPerformed(java.awt.event.ActionEvent evt) {
                    jButton2ActionPerformed(evt);
                }
            });
            jButton2.addKeyListener(new java.awt.event.KeyAdapter() {
                public void keyTyped(java.awt.event.KeyEvent evt) {
                    jButton2KeyTyped(evt);
                }
            });
     
            p1.setFont(new java.awt.Font("Times New Roman", 0, 14)); // NOI18N
            p1.setForeground(new java.awt.Color(204, 51, 0));
     
            p2.setFont(new java.awt.Font("Tahoma", 0, 14)); // NOI18N
            p2.setForeground(new java.awt.Color(0, 0, 255));
            p2.setText("              ");
     
            jLabel4.setIcon(new javax.swing.ImageIcon(getClass().getResource("/application/backoffice1/Ooredoo_Logo.png"))); // NOI18N
     
            javax.swing.GroupLayout LoginLayout = new javax.swing.GroupLayout(Login);
            Login.setLayout(LoginLayout);
            LoginLayout.setHorizontalGroup(
                LoginLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addGroup(LoginLayout.createSequentialGroup()
                    .addComponent(jLabel4, javax.swing.GroupLayout.PREFERRED_SIZE, 450, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addGap(255, 255, 255)
                    .addComponent(jLabel3)
                    .addGap(0, 0, Short.MAX_VALUE))
                .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, LoginLayout.createSequentialGroup()
                    .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addGroup(LoginLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                        .addGroup(LoginLayout.createSequentialGroup()
                            .addComponent(jLabel2, javax.swing.GroupLayout.PREFERRED_SIZE, 72, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                            .addComponent(jPasswordField1, javax.swing.GroupLayout.PREFERRED_SIZE, 138, javax.swing.GroupLayout.PREFERRED_SIZE))
                        .addGroup(LoginLayout.createSequentialGroup()
                            .addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 72, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                            .addComponent(jTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, 138, javax.swing.GroupLayout.PREFERRED_SIZE)))
                    .addGap(337, 337, 337))
                .addGroup(LoginLayout.createSequentialGroup()
                    .addGap(206, 206, 206)
                    .addGroup(LoginLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                        .addGroup(LoginLayout.createSequentialGroup()
                            .addComponent(jButton1)
                            .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                            .addComponent(jButton2))
                        .addGroup(LoginLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(p1, javax.swing.GroupLayout.PREFERRED_SIZE, 236, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(p2, javax.swing.GroupLayout.PREFERRED_SIZE, 153, javax.swing.GroupLayout.PREFERRED_SIZE)))
                    .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
            );
            LoginLayout.setVerticalGroup(
                LoginLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addGroup(LoginLayout.createSequentialGroup()
                    .addGroup(LoginLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                        .addGroup(LoginLayout.createSequentialGroup()
                            .addGap(20, 20, 20)
                            .addComponent(jLabel3))
                        .addComponent(jLabel4, javax.swing.GroupLayout.PREFERRED_SIZE, 99, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                    .addGroup(LoginLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                        .addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 20, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addComponent(jTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                    .addGroup(LoginLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                        .addComponent(jLabel2, javax.swing.GroupLayout.PREFERRED_SIZE, 20, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addComponent(jPasswordField1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(p1, javax.swing.GroupLayout.PREFERRED_SIZE, 24, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                    .addComponent(p2, javax.swing.GroupLayout.PREFERRED_SIZE, 23, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                    .addGroup(LoginLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                        .addComponent(jButton2)
                        .addComponent(jButton1))
                    .addContainerGap())
            );
     
            javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
            getContentPane().setLayout(layout);
            layout.setHorizontalGroup(
                layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addComponent(Login, javax.swing.GroupLayout.PREFERRED_SIZE, 450, Short.MAX_VALUE)
            );
            layout.setVerticalGroup(
                layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addComponent(Login, javax.swing.GroupLayout.DEFAULT_SIZE, 278, Short.MAX_VALUE)
            );
     
            pack();
        }// </editor-fold>                        
     
        private void formWindowOpened(java.awt.event.WindowEvent evt) {                                  
            // TODO add your handling code here:
     
        }                                 
     
        /*Action du bouton QUIT activ avec la souris
          Ce bouton permet de fermer la fenetre d'authentification
        */
        private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {                                         
            // TODO add your handling code here:
            System.exit(0);
        }                                        
     
        /*Action du bouton LOGIN activ avec la souris
          Ce bouton permet de valider l'identité de la personne selon les champs remplies
        */
        private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                         
     
            // TODO add your handling code here:
              try
            {
                //connexion à la BD
     
               con = getConnection("jdbc:mysql://localhost:3306/base_rapport_tt","root","");
     
                //la requete SQL permettant de sélectionner les colonnes correspondantes aux chmps du formulaire
     
                String Sql="Select  username,password   from   acteur    where username ='"+jTextField1.getText()+"'and password ='" +jPasswordField1.getText()+"'";
     
     
                //exécution de la requete SQL et stockage des résultats rendus
     
                Statement st=con.createStatement();
                ResultSet rs=st.executeQuery(Sql);
     
                //validation de l'identité'
     
                if (rs.next()){
     
                    //fermeture de la fenetre login et lancement de la fentre principale si l'identité est valide
                    //JOptionPane.showMessageDialog(this,"welcome "+jTextField1.getText());
     
                    p2.setText("welcome "+jTextField1.getText());
                    p1.setText("");
                    Principale s = new Principale();
                    s.setVisible(true);
                    this.dispose();
                   //Preferences prefs = Preferences.systemRoot();
                        Preferences prefs = Preferences.userRoot(); 
    		    prefs.put(USERNAME_PREFERENCE_KEY, jTextField1); 
     
                }
                else
                {
                    //sinon un message d'erreur sera délivré
                    //JOptionPane.showMessageDialog(this,"invalid username or password");
     
                    p1.setText("Invalid user name or password");
     
                }
            }
            catch (Exception e) {
     
                p1.setText("No data base connection");
            }
     
        }                                        
     
        /*Action du bouton LOGIN active avec la touche Eter
          Ce bouton permet de valider l'identité de la personne selon les champs remplies
        */
     
        private void jButton1KeyTyped(java.awt.event.KeyEvent evt) {                                  
            // TODO add your handling code here:
            try
            {
                // le meme déroulement qu'en action performed
     
                String Sql="Select  username,password   from   personne    where username ='"+jTextField1.getText()+"'and password ='" +jPasswordField1.getText()+"'";
              // con = getConnection("jdbc:mysql://localhost:3306/base_rapport_tt","root","");
     
                Statement st=con.createStatement();
                ResultSet rs=st.executeQuery(Sql);
                if (rs.next()){
     
                    //JOptionPane.showMessageDialog(this,"welcome "+jTextField1.getText());
                    p2.setText("welcome "+jTextField1.getText());
                    p1.setText("");
                    Principale s = new Principale();
                    s.setVisible(true);
                    this.dispose();
                Preferences prefs = Preferences.userRoot(); // on sauvegarde la préférence pour l'utilisateur actuel
    	    prefs.put(USERNAME_PREFERENCE, jTextField1.getText()); // on sauvegarde username dans la préférence
     
     
                }
                else
                {
                    //JOptionPane.showMessageDialog(this,"invalid username or password");
     
                    p1.setText("Invalid user name or password");
     
                }
            }
            catch (Exception e) {
                //JOptionPane.showMessageDialog(this,"Empty");
                p1.setText("No data base connection");
            }      
     
     
        }                                 
     
        /*Action du bouton QUIT activ avec la touche Enter
          Ce bouton permet de fermer la fenetre d'authentification
        */
     
        private void jButton2KeyTyped(java.awt.event.KeyEvent evt) {                                  
            // TODO add your handling code here:
            System.exit(0); 
        }                                 
     
        private void jTextField1ActionPerformed(java.awt.event.ActionEvent evt) {                                            
            // TODO add your handling code here:
        }                                           
     
        /**
         * @param args the command line arguments
         */
        public static void main(String args[]) {
            /* Set the Nimbus look and feel */
            //<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
            /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
             * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html 
             */
            try {
                for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
                    if ("Nimbus".equals(info.getName())) {
                        javax.swing.UIManager.setLookAndFeel(info.getClassName());
                        break;
                    }
                }
            } catch (ClassNotFoundException ex) {
                java.util.logging.Logger.getLogger(login.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
            } catch (InstantiationException ex) {
                java.util.logging.Logger.getLogger(login.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
            } catch (IllegalAccessException ex) {
                java.util.logging.Logger.getLogger(login.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
            } catch (javax.swing.UnsupportedLookAndFeelException ex) {
                java.util.logging.Logger.getLogger(login.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
            }
            //</editor-fold>
     
            /* Create and display the form */
            java.awt.EventQueue.invokeLater(new Runnable() {
                public void run() {
     
                    //lancement de la fenetre login
     
                    new login().setVisible(true);
     
                }
            });
        }
     
        // Variables declaration - do not modify                     
        private javax.swing.JPanel Login;
        private javax.swing.JButton jButton1;
        private javax.swing.JButton jButton2;
        private javax.swing.JLabel jLabel1;
        private javax.swing.JLabel jLabel2;
        private javax.swing.JLabel jLabel3;
        private javax.swing.JLabel jLabel4;
        private javax.swing.JPasswordField jPasswordField1;
        private javax.swing.JTextField jTextField1;
        private javax.swing.JLabel p1;
        private javax.swing.JLabel p2;
        // End of variables declaration                   
    }
    mais rien .

  13. #13
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par nabil123456 Voir le message
    merci pour votre réponse .j'ai fait ce que vous demandez sauf la première parceque la commande se faite graphiquement et n'est pas modifiable.
    Graphiquement ? Avec WindowBuilder ou la palette de NetBeans ? On peut modifier le code généré (en tout cas avec la palette de NetBeans, avec WindowBuilder, je ne sais pas, je me sers jamais d'éditeurs graphiques d'UI, mais je pense que oui : initialiser un champ est une pratique répandue, ça m'étonnerait que tu ne puisses pas le faire, d'une manière ou d'une autre).
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  14. #14
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2015
    Messages
    132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Mars 2015
    Messages : 132
    Points : 67
    Points
    67
    Par défaut
    merci pour votre réponse.
    oui avec la palette de NetBeans mais elle n'est pas modifiable .y'a t'il d'autre solution?

  15. #15
    Modérateur
    Avatar de wax78
    Homme Profil pro
    Chef programmeur
    Inscrit en
    Août 2006
    Messages
    4 072
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

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

    Informations forums :
    Inscription : Août 2006
    Messages : 4 072
    Points : 7 974
    Points
    7 974
    Par défaut
    Citation Envoyé par joel.drigo Voir le message
    avec WindowBuilder, je ne sais pas, je me sers jamais d'éditeurs graphiques d'UI...
    Si si et encore heureux ^^
    (Les "ça ne marche pas", même écrits sans faute(s), vous porteront discrédit ad vitam æternam et malheur pendant 7 ans)

    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  16. #16
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Nom : CaptureNetBeansCustomize.PNG
Affichages : 122
Taille : 13,5 Ko

    Nom : CaptureNetBeansCustomize2.PNG
Affichages : 126
Taille : 20,8 Ko
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  17. #17
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2015
    Messages
    132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Mars 2015
    Messages : 132
    Points : 67
    Points
    67
    Par défaut
    merci pour votre réponse.j'ai suivi les étapes que tu m'a demandé mais lorsque je lance le code, un message apparait pour dire que la connexion avec la base de données est abscent .
    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
    221
    222
    223
    224
    225
    226
    227
    228
    229
    230
    231
    232
    233
    234
    235
    236
    237
    238
    239
    240
    241
    242
    243
    244
    245
    246
    247
    248
    249
    250
    251
    252
    253
    254
    255
    256
    257
    258
    259
    260
    261
    262
    263
    264
    265
    266
    267
    268
    269
    270
    271
    272
    273
    274
    275
    276
    277
    278
    279
    280
    281
    282
    283
    284
    285
    286
    287
    288
    289
    290
    291
    292
    293
    294
    295
    296
    297
    298
    299
    300
    301
    302
    303
    304
    305
    306
    307
    308
    309
    310
    311
    312
    313
    314
    315
    316
    317
    318
    319
    320
    321
    322
    323
    324
    325
    326
    327
    328
    329
    330
    331
    332
    333
    334
    335
    336
    337
    338
    339
    340
    341
    342
    343
    344
    345
    346
    347
    348
    349
    350
    351
    352
    353
    354
    355
    356
    357
    358
    359
    360
    361
    362
    363
    364
    365
    366
    367
    368
    369
    370
    371
    372
    373
    374
    375
    376
    377
    378
    379
     
     
    package application.backoffice1;
     
    /*Importation des différents bibliothéques
      les bibliothéques pour établir la connexion à la DB
      les bibliothéques de gestion des requetes SQL
    */
     
    import java.sql.Connection;
    import static java.sql.DriverManager.getConnection;
    import static java.sql.DriverManager.getConnection;
    import java.sql.ResultSet;
    import java.sql.Statement;
    import java.util.prefs.Preferences;
     
    /**
     *
     * @author nabil.khedhri.stg
     */
     
    public class login extends javax.swing.JFrame {
     
        /*
         * Creates new form login
        */
     
        //Déclaration des variables de connexion à la base et de la gestion des requetes
     
        Connection con=null;
        ResultSet rs=null;
        Statement stmt=null;
        private String USERNAME_PREFERENCE;
     
        //construction de la fenetre login   
        public login() {
           initComponents();
            this.setResizable(false);
            this.pack();
            java.awt.Dimension screenSize = java.awt.Toolkit.getDefaultToolkit().getScreenSize();
            this.setLocation(
            (screenSize.width-this.getWidth())/2,
            (screenSize.height-this.getHeight())/2);
     
        }
     
     
        /**
         * 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() {
     
            Login = new javax.swing.JPanel();
            jTextField1 = new javax.swing.JTextField(AppPreferences.getLastUserName());
            jButton1 = new javax.swing.JButton();
            jLabel1 = new javax.swing.JLabel();
            jLabel2 = new javax.swing.JLabel();
            jButton2 = new javax.swing.JButton();
            p1 = new javax.swing.JLabel();
            p2 = new javax.swing.JLabel();
            jPasswordField1 = new javax.swing.JPasswordField();
            jLabel3 = new javax.swing.JLabel();
            jLabel4 = new javax.swing.JLabel();
     
            setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
            setTitle("Login");
            addWindowListener(new java.awt.event.WindowAdapter() {
                public void windowOpened(java.awt.event.WindowEvent evt) {
                    formWindowOpened(evt);
                }
            });
     
            Login.setBackground(new java.awt.Color(255, 255, 255));
            Login.setBorder(new javax.swing.border.LineBorder(new java.awt.Color(0, 0, 0), 1, true));
            Login.setPreferredSize(new java.awt.Dimension(517, 271));
     
            jTextField1.addActionListener(new java.awt.event.ActionListener() {
                public void actionPerformed(java.awt.event.ActionEvent evt) {
                    jTextField1ActionPerformed(evt);
                }
            });
     
            jButton1.setText("LOGIN");
            jButton1.addActionListener(new java.awt.event.ActionListener() {
                public void actionPerformed(java.awt.event.ActionEvent evt) {
                    jButton1ActionPerformed(evt);
                }
            });
            jButton1.addKeyListener(new java.awt.event.KeyAdapter() {
                public void keyTyped(java.awt.event.KeyEvent evt) {
                    jButton1KeyTyped(evt);
                }
            });
     
            jLabel1.setFont(new java.awt.Font("Tahoma", 0, 14)); // NOI18N
            jLabel1.setText("User name");
     
            jLabel2.setFont(new java.awt.Font("Tahoma", 0, 14)); // NOI18N
            jLabel2.setText("Password");
     
            jButton2.setText("QUIT");
            jButton2.addActionListener(new java.awt.event.ActionListener() {
                public void actionPerformed(java.awt.event.ActionEvent evt) {
                    jButton2ActionPerformed(evt);
                }
            });
            jButton2.addKeyListener(new java.awt.event.KeyAdapter() {
                public void keyTyped(java.awt.event.KeyEvent evt) {
                    jButton2KeyTyped(evt);
                }
            });
     
            p1.setFont(new java.awt.Font("Times New Roman", 0, 14)); // NOI18N
            p1.setForeground(new java.awt.Color(204, 51, 0));
     
            p2.setFont(new java.awt.Font("Tahoma", 0, 14)); // NOI18N
            p2.setForeground(new java.awt.Color(0, 0, 255));
            p2.setText("              ");
     
            jLabel4.setIcon(new javax.swing.ImageIcon(getClass().getResource("/application/backoffice1/Ooredoo_Logo.png"))); // NOI18N
     
            javax.swing.GroupLayout LoginLayout = new javax.swing.GroupLayout(Login);
            Login.setLayout(LoginLayout);
            LoginLayout.setHorizontalGroup(
                LoginLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addGroup(LoginLayout.createSequentialGroup()
                    .addComponent(jLabel4, javax.swing.GroupLayout.PREFERRED_SIZE, 450, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addGap(255, 255, 255)
                    .addComponent(jLabel3)
                    .addGap(0, 0, Short.MAX_VALUE))
                .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, LoginLayout.createSequentialGroup()
                    .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addGroup(LoginLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                        .addGroup(LoginLayout.createSequentialGroup()
                            .addComponent(jLabel2, javax.swing.GroupLayout.PREFERRED_SIZE, 72, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                            .addComponent(jPasswordField1, javax.swing.GroupLayout.PREFERRED_SIZE, 138, javax.swing.GroupLayout.PREFERRED_SIZE))
                        .addGroup(LoginLayout.createSequentialGroup()
                            .addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 72, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                            .addComponent(jTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, 138, javax.swing.GroupLayout.PREFERRED_SIZE)))
                    .addGap(337, 337, 337))
                .addGroup(LoginLayout.createSequentialGroup()
                    .addGap(206, 206, 206)
                    .addGroup(LoginLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                        .addGroup(LoginLayout.createSequentialGroup()
                            .addComponent(jButton1)
                            .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                            .addComponent(jButton2))
                        .addGroup(LoginLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(p1, javax.swing.GroupLayout.PREFERRED_SIZE, 236, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(p2, javax.swing.GroupLayout.PREFERRED_SIZE, 153, javax.swing.GroupLayout.PREFERRED_SIZE)))
                    .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
            );
            LoginLayout.setVerticalGroup(
                LoginLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addGroup(LoginLayout.createSequentialGroup()
                    .addGroup(LoginLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                        .addGroup(LoginLayout.createSequentialGroup()
                            .addGap(20, 20, 20)
                            .addComponent(jLabel3))
                        .addComponent(jLabel4, javax.swing.GroupLayout.PREFERRED_SIZE, 99, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                    .addGroup(LoginLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                        .addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 20, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addComponent(jTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                    .addGroup(LoginLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                        .addComponent(jLabel2, javax.swing.GroupLayout.PREFERRED_SIZE, 20, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addComponent(jPasswordField1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(p1, javax.swing.GroupLayout.PREFERRED_SIZE, 24, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                    .addComponent(p2, javax.swing.GroupLayout.PREFERRED_SIZE, 23, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                    .addGroup(LoginLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                        .addComponent(jButton2)
                        .addComponent(jButton1))
                    .addContainerGap())
            );
     
            javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
            getContentPane().setLayout(layout);
            layout.setHorizontalGroup(
                layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addComponent(Login, javax.swing.GroupLayout.PREFERRED_SIZE, 450, Short.MAX_VALUE)
            );
            layout.setVerticalGroup(
                layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addComponent(Login, javax.swing.GroupLayout.DEFAULT_SIZE, 278, Short.MAX_VALUE)
            );
     
            pack();
        }// </editor-fold>                        
     
        private void formWindowOpened(java.awt.event.WindowEvent evt) {                                  
            // TODO add your handling code here:
     
        }                                 
     
        /*Action du bouton QUIT activ avec la souris
          Ce bouton permet de fermer la fenetre d'authentification
        */
        private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {                                         
            // TODO add your handling code here:
            System.exit(0);
        }                                        
     
        /*Action du bouton LOGIN activ avec la souris
          Ce bouton permet de valider l'identité de la personne selon les champs remplies
        */
        private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                         
     
            // TODO add your handling code here:
              try
            {
                //connexion à la BD
              con = getConnection("jdbc:mysql://localhost:3306/base_rapport_tt","root","");
             //  Preferences prefs = Preferences.userRoot(); // on récupère les préférences de l'utilisateur actuel
    		// prefs.get(USERNAME_PREFERENCE, "");
     
                //la requete SQL permettant de sélectionner les colonnes correspondantes aux chmps du formulaire
     
                String Sql="Select  username,password   from   acteur    where username ='"+jTextField1.getText()+"'and password ='" +jPasswordField1.getText()+"'";
     
     
                //exécution de la requete SQL et stockage des résultats rendus
     
                Statement st=con.createStatement();
                ResultSet rs=st.executeQuery(Sql);
     
                //validation de l'identité'
     
                if (rs.next()){
     
                    //fermeture de la fenetre login et lancement de la fentre principale si l'identité est valide
                    //JOptionPane.showMessageDialog(this,"welcome "+jTextField1.getText());
     
                  // p2.setText("welcome "+jTextField1.getText());
                     Preferences prefs = Preferences.userRoot(); 
    		  prefs.put(USERNAME_PREFERENCE, jTextField1.getText());
                    p1.setText("");
                    Principale s = new Principale();
                    s.setVisible(true);
                    this.dispose();
     
     
                }
                else
                {
                    //sinon un message d'erreur sera délivré
                    //JOptionPane.showMessageDialog(this,"invalid username or password");
     
                    p1.setText("Invalid user name or password");
     
                }
            }
            catch (Exception e) {
     
                p1.setText("No data base connection");
            }
     
        }                                        
     
        /*Action du bouton LOGIN active avec la touche Eter
          Ce bouton permet de valider l'identité de la personne selon les champs remplies
        */
     
        private void jButton1KeyTyped(java.awt.event.KeyEvent evt) {                                  
            // TODO add your handling code here:
            try
            {
                // le meme déroulement qu'en action performed
     
                String Sql="Select  username,password   from   personne    where username ='"+jTextField1.getText()+"'and password ='" +jPasswordField1.getText()+"'";
              con = getConnection("jdbc:mysql://localhost:3306/base_rapport_tt","root","");
     
                Statement st=con.createStatement();
                ResultSet rs=st.executeQuery(Sql);
                if (rs.next()){
     
                    //JOptionPane.showMessageDialog(this,"welcome "+jTextField1.getText());
                    Preferences prefs = Preferences.userRoot(); // on sauvegarde la préférence pour l'utilisateur actuel
    	    prefs.put(USERNAME_PREFERENCE, jTextField1.getText()); // on sauvegarde username dans la préférence
     
                    p1.setText("");
                    Principale s = new Principale();
                    s.setVisible(true);
                    this.dispose();
     
     
                }
                else
                {
                    //JOptionPane.showMessageDialog(this,"invalid username or password");
     
                    p1.setText("Invalid user name or password");
     
                }
            }
            catch (Exception e) {
                //JOptionPane.showMessageDialog(this,"Empty");
                p1.setText("No data base connection");
            }      
     
     
        }                                 
     
        /*Action du bouton QUIT activ avec la touche Enter
          Ce bouton permet de fermer la fenetre d'authentification
        */
     
        private void jButton2KeyTyped(java.awt.event.KeyEvent evt) {                                  
            // TODO add your handling code here:
            System.exit(0); 
        }                                 
     
        private void jTextField1ActionPerformed(java.awt.event.ActionEvent evt) {                                            
            // TODO add your handling code here:
        }                                           
     
        /**
         * @param args the command line arguments
         */
        public static void main(String args[]) {
            /* Set the Nimbus look and feel */
            //<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
            /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
             * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html 
             */
            try {
                for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
                    if ("Nimbus".equals(info.getName())) {
                        javax.swing.UIManager.setLookAndFeel(info.getClassName());
                        break;
                    }
                }
            } catch (ClassNotFoundException ex) {
                java.util.logging.Logger.getLogger(login.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
            } catch (InstantiationException ex) {
                java.util.logging.Logger.getLogger(login.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
            } catch (IllegalAccessException ex) {
                java.util.logging.Logger.getLogger(login.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
            } catch (javax.swing.UnsupportedLookAndFeelException ex) {
                java.util.logging.Logger.getLogger(login.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
            }
            //</editor-fold>
     
            /* Create and display the form */
            java.awt.EventQueue.invokeLater(new Runnable() {
                public void run() {
     
                    //lancement de la fenetre login
     
                    new login().setVisible(true);
     
                }
            });
        }
     
        // Variables declaration - do not modify                     
        private javax.swing.JPanel Login;
        private javax.swing.JButton jButton1;
        private javax.swing.JButton jButton2;
        private javax.swing.JLabel jLabel1;
        private javax.swing.JLabel jLabel2;
        private javax.swing.JLabel jLabel3;
        private javax.swing.JLabel jLabel4;
        private javax.swing.JPasswordField jPasswordField1;
        private javax.swing.JTextField jTextField1;
        private javax.swing.JLabel p1;
        private javax.swing.JLabel p2;
        // End of variables declaration                   
    }
    y'a t'il une solution?

  18. #18
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Je suppose qu'il t'affiche "No data base connection" parce que dans le catch, là, ci-après, pour n'importe quelle exception, tu affiches ça... mais ça ne veut pas forcément dire que c'est ça l'erreur.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    catch (Exception e) {
                //JOptionPane.showMessageDialog(this,"Empty");
                p1.setText("No data base connection");
            }
    Ajoute au moins un e.printStackTrace(); dans le catch (et tu pourras aussi mettre un message d'erreur adapté, genre p1.setText("Error: " + e.getMessage()); pour commencer).

    Moi, je dirais au pif, que tu as une NullPointerException, parce que USERNAME_PREFERENCE est null... Pourquoi ne pas utiliser simplement la classe que je t'ai donnée et appeler saveUserName ? Ça t'éviterait d'avoir 2 fois la même constante (enfin y'en a une qui n'est pas vraiment une constante...) à 2 endroits différents, donc de risquer qu'elles n'aient pas la même valeur, ou de risquer d'oublier de donner une valeur à l'une des copies, justement... Les classes sont aussi faites pour organiser le code (le traitement des préférences centralisé à un endroit, le login fait à un autre, etc.)

    Par ailleurs, utilise un PreparedStatement pour ta requête SQL...
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  19. #19
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2015
    Messages
    132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Mars 2015
    Messages : 132
    Points : 67
    Points
    67
    Par défaut
    merci pour votre réponse et votre patient.tout simplement je connais pas comment appeller les deux méthodes de la classe AppPréférences .

  20. #20
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    M'enfin, c'est la base ça tout de même ! Et tu pourrais simplement regarder comment c'est fait dans le code que je t'ai posté...
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

Discussions similaires

  1. récupérer la liste des noms des champs d'une table
    Par la_didise dans le forum Access
    Réponses: 2
    Dernier message: 29/05/2006, 17h55
  2. [XML] Norme des noms des éléments
    Par anaon dans le forum XML/XSL et SOAP
    Réponses: 1
    Dernier message: 12/12/2005, 18h33
  3. [C#] Liste des noms des jours
    Par Oberown dans le forum C#
    Réponses: 9
    Dernier message: 07/11/2005, 12h38
  4. Affichage des noms des IDC_STATIC dynamiquement
    Par tonycalv dans le forum MFC
    Réponses: 6
    Dernier message: 11/09/2005, 17h07
  5. Comment obtenir la liste des noms des ordinateurs du réseau ?
    Par da_latifa dans le forum Web & réseau
    Réponses: 2
    Dernier message: 17/08/2005, 12h58

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