Bonsoir , SVP j'aimerais que vous m'aidiez à créer un login en java à mon application en entrant dans le premier champ un numéro et le second le mot de pass. J'ai essayé plusieurs codes en vain.
Bonsoir , SVP j'aimerais que vous m'aidiez à créer un login en java à mon application en entrant dans le premier champ un numéro et le second le mot de pass. J'ai essayé plusieurs codes en vain.
Salut,
- Si tu montres ton code, on pourra t'aider à le faire fonctionner
- Au minimum précise-nous quel environnement graphique... Desktop (Swing, JavaFX, SWT...), Web (JSP, JSF...)
- Un login ce n'est pas seulement un problème de GUI... quel système d'authentification as-tu derrière l'interface ?
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.
Bonjour joel.drigo
Voici mon code dont tu m' a demandé.
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 public void connexion_1() { AcceuilInterface acc=new AcceuilInterface(); String num = acc.getNumCommercant_tfd().getText(); // obtention du numero saisi String password = acc.getPassword_tfd().getText(); // obtention du mot de pass saisi Connection connect =DataBaseAccess.open(); try{ state = connect.createStatement(); String sql = "SELECT motDePass FROM Commercant WHERE numCommercant = '"+num+"' "; resultSet = state.executeQuery(sql); if(resultSet.next()){ String motDePass = resultSet.getString(2); if(motDePass.equals(password)){ JOptionPane.showMessageDialog(null,"Connexion réussie ! ","Success",JOptionPane.PLAIN_MESSAGE); }else { JOptionPane.showMessageDialog(null,"Mot de passe incorrect ! ","Error",1); } }else { JOptionPane.showMessageDialog(null,"Login incorrect ! ","Error",1); } connect.close(); }catch (SQLException e4) { System.out.println(e4.getMessage()); } }
Salut,
String motDePass = resultSet.getString(2); veut dire que tu récupères le mot de passe dans le deuxième champ du select, or il n'y a qu'un seul champ !
Cela, dit, plutôt que de procéder ainsi, en récupérant le mot de passe et en le comparant, ce serait plus sécuris en faisant une requête du type select 1 where login='login' and motdepasse='motdepasse', et s'il y a un résultat le login est ok, sinon il est ko. Ainsi, le vrai mot de passe reste toujours côté serveur. Ensuite, il est toujours mieux de procéder avec un PreparedStatement :
Attention de bien libérer tes ressources (avec close()), dans mon code fait avec try-with-resource.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 try(PreparedStatement statement = connect.preparedStatement("SELECT 1 FROM Commercant WHERE numCommercant = ? and motDePass = ?")) { statement.setString(1,num); statement.setString(2,password); ResultSet resultSet = statement.executeQuery(); boolean loginOk = resultSet.next(); // s'il y a un résultat alors le couple num/password existe, sinon le login est 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.
Salut joel.drigo
J'ai essayé de corriger les erreurs tel que tu m'a montré mais je n'obtiens pas ce dont je veux.
Voici mon code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36 public void connexion_11() { AcceuilInterface acc=new AcceuilInterface(); String num = acc.getNumCommercant_tfd().getText(); // ( le numéroest de type int ). Obtention du numero saisi String password = acc.getPassword_tfd().getText(); // Obtention du mot de pass saisi Connection connect =DataBaseAccess.open(); try{ prepa_state = connect.prepareStatement("SELECT 1 FROM Commercant WHERE numCommercant = ? and motDePass = ? "); prepa_state.setString(1, num); prepa_state.setString(2, password); resultSet = prepa_state.executeQuery(); boolean loginOk = resultSet.next(); if(loginOk){ String motDePass = resultSet.getString(2); if(motDePass.equals(password)){ JOptionPane.showMessageDialog(null,"Connexion réussie ! ","Success",JOptionPane.PLAIN_MESSAGE); }else { JOptionPane.showMessageDialog(null,"Mot de passe incorrect ! ","Error",1); } }else { System.out.println("a"); JOptionPane.showMessageDialog(null,"Login incorrect ! ","Error",1); } // connect.close(); }catch (SQLException e4) { System.out.println(e4.getMessage()); } }
la console n'affiche pas d'erreur.
Voici son affichage:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 Connection éffective ! a
Mais ça :
Il ne faut plus le faire ! Je t'ai dit que le mot de passe n'était plus récupéré par le client : le select récupère 1.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 String motDePass = resultSet.getString(2); if(motDePass.equals(password)){
Si ça affiche "a", c'est parce que tu testes avec un login/password incorrect. Tu peux afficher en console temporairement le num et mot de passe saisis pour vérifier que c'est bien les valeurs saisies que tu utilises (le problème vient peut-être de ta classe AcceuilInterface)
Et tu t'es arrangé pour refaire un code où les ressources (statement/resultset) ne sont pas libérées !!!
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.
Salut Joel.drigo,
Après modifications je n'obtiens pas de résultat voulu
j' aimerais mon code que tu jettes un coup d'oeil.
J'aimerais que tu sois plus claire avec moi puisque je comprends pas, quand tu me parle de libérer mes réssources.
ceci est mon code:
Et voici le code ma classe AcceuilInterface :
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 public void connexion_11() { AcceuilInterface acc=new AcceuilInterface(); String num = acc.getNumCommercant_tfd().getText(); // ( le numéroest de type int ). Obtention du numero saisi String password = acc.getPassword_tfd().getText(); // Obtention du mot de pass saisi Connection connect =DataBaseAccess.open(); try{ prepa_state = connect.prepareStatement("SELECT 1 FROM Commercant WHERE numCommercant = ? and motDePass = ? "); prepa_state.setString(1, num); prepa_state.setString(2, password); resultSet = prepa_state.executeQuery(); boolean loginOk = resultSet.next(); if(loginOk){ //String motDePass = resultSet.getString(2); // if(motDePass.equals(password)){ JOptionPane.showMessageDialog(null,"Connexion réussie ! ","Success",JOptionPane.PLAIN_MESSAGE); /*}else { JOptionPane.showMessageDialog(null,"Mot de passe incorrect ! ","Error",1); }*/ }else { System.out.println("a"); JOptionPane.showMessageDialog(null,"Login incorrect ! ","Error",1); } // connect.close(); }catch (SQLException e4) { System.out.println(e4.getMessage()); } }
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 Conexion.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent arg0) { //numCommercant_tfd.getText(); //password_tfd.getText(); D.connexion_11(); //D.se_connecter2(); numCommercant_tfd.setText(""); password_tfd.setText(""); } });
Tu ne n'as toujours pas montrer AccueilInterface (tu me montres un un bout de code (impliquant des classes ou instances que je ne connais pas (Conexion, D) et qui fait quelque chose de vraiment douteux), mais pas le code complet de la classe). Je parle de code douteux, parce que ce code, qui donc, si je le comprends bien, fait partie de la classe AccueilInterface, dont tu crées une nouvelle instance dans la méthode connexion_l1 (au passage, merci de respecter aussi les conventions de nommage), donc il est probable que les champs (nom et password) saisis dans l'interface affichée à l'écran ne soient pas les mêmes que ceux récupérés dans la méthode de connexion (qui créée donc une autre interface jamais affichée elle). Donc ceux utilisés par la connexion sont des champs qui ne contiennent pas les valeurs saisies.
Le plus simple pour faire ce genre de chose, c'est de passer les champs en paramètre à la méthode.
et
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 public void actionPerformed(ActionEvent arg0) { D.connexion_11(numCommercant_tfd.getText(), password_tfd.getText()); } }
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 public void connexion_11(String num, String password ) { /*...*/
Je parle d'appeler explicitement close() sur les ressources créées quand tu ne t'en sers plus (Connection, Statement, ResultSet), ou d'utiliser la structure try-with-resources, comme dit précédemment.
ceci est mon code:
Et voici le code ma classe AcceuilInterface :
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 public void connexion_11() { AcceuilInterface acc=new AcceuilInterface(); String num = acc.getNumCommercant_tfd().getText(); // ( le numéroest de type int ). Obtention du numero saisi String password = acc.getPassword_tfd().getText(); // Obtention du mot de pass saisi Connection connect =DataBaseAccess.open(); try{ prepa_state = connect.prepareStatement("SELECT 1 FROM Commercant WHERE numCommercant = ? and motDePass = ? "); prepa_state.setString(1, num); prepa_state.setString(2, password); resultSet = prepa_state.executeQuery(); boolean loginOk = resultSet.next(); if(loginOk){ //String motDePass = resultSet.getString(2); // if(motDePass.equals(password)){ JOptionPane.showMessageDialog(null,"Connexion réussie ! ","Success",JOptionPane.PLAIN_MESSAGE); /*}else { JOptionPane.showMessageDialog(null,"Mot de passe incorrect ! ","Error",1); }*/ }else { System.out.println("a"); JOptionPane.showMessageDialog(null,"Login incorrect ! ","Error",1); } // connect.close(); }catch (SQLException e4) { System.out.println(e4.getMessage()); } }
[/QUOTE]
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 Conexion.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent arg0) { //numCommercant_tfd.getText(); //password_tfd.getText(); D.connexion_11(); //D.se_connecter2(); numCommercant_tfd.setText(""); password_tfd.setText(""); } });
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.
C'est toujours pareille
Classe java:
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 package DataBase ; import java.awt.*; import java.security.Principal; import java.sql.*; import java.util.*; import javax.swing.*; import Interface.AcceuilInterface; import Interface.ClientInterface; import Personne.*; import Stockage.*; import Stockage.*; import Vente.*; import Vente.*; public class DataBaseAccess { public static Connection connect = null; public static Statement state = null; public static PreparedStatement prepa_state = null; public static ResultSet resultSet = null; private JPanel resultPanel = new JPanel(); //String requete = "SELECT * FROM data_base_trade.client"; public DataBaseAccess(){} public static Connection open() { String url = "jdbc:mysql://localhost/data_base_trade"; String user ="root"; String password = ""; Connection connect = null; try { Class.forName("com.mysql.jdbc.Driver"); // Chargement de la Base de données connect = DriverManager.getConnection(url,user,password); // Connexion de la Base de données // "jdbc:mysql://localhost/data_base_trade?"+"user=root&password="); state = connect.createStatement(); System.err.println("Connection éffective !"); } catch(Exception e) { System.err.println("Driver non chargé !"); e.printStackTrace(); } return connect; } //COMMERCANT //------------------------------------------------------------------------------------ public void connexion_11(String num, String password ) { AcceuilInterface acc=new AcceuilInterface(); num = acc.getNumCommercant_tfd().getText(); // ( le numéroest de type int ). Obtention du numero saisi password = acc.getPassword_tfd().getText(); // Obtention du mot de pass saisi Connection connect =DataBaseAccess.open(); try{ prepa_state = connect.prepareStatement("SELECT 1 FROM Commercant WHERE numCommercant = ? and motDePass = ? "); prepa_state.setString(1, num); prepa_state.setString(2, password); resultSet = prepa_state.executeQuery(); boolean loginOk = resultSet.next(); if(loginOk){ JOptionPane.showMessageDialog(null,"Connexion réussie ! ","Success",JOptionPane.PLAIN_MESSAGE); System.out.println("OK"); }else { System.out.println("AA"); JOptionPane.showMessageDialog(null,"Login incorrect ! ","Error",1); } // connect.close(); }catch (SQLException e4) { System.out.println(e4.getMessage()); } } }
Voici ma classe AcceuilInterface :
seule la méthode connexion_11() du bouton connexion m'interresse.
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
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394 package Interface; import java.awt.*; import java.awt.event.*; import javax.swing.*; import com.mysql.fabric.xmlrpc.Client; import DataBase.DataBaseAccess; import Personne.Commercant; import Stockage.Produit; import Stockage.Stock; import Vente.Achat; import java.awt.event.ActionEvent; import java.sql.SQLException; import java.util.Random; @SuppressWarnings("serial") public class AcceuilInterface extends JPanel implements ActionListener{ private JPanel P1 =new JPanel(); private JPanel centerPane1 =new JPanel(); private BorderLayout bL = new BorderLayout(); private Color color = Color.white; private JComboBox comb1 = new JComboBox(); private JComboBox comb2 = new JComboBox(); private JButton Utilisateurs=new JButton("Utilisateurs"); private JButton Stocker_un_produit=new JButton("Stocker un produit"); private JButton Conexion=new JButton("Connexion"); private JButton S_enregistrer=new JButton("S'enregistrer"); private JButton EnregistrerCom=new JButton("Enregistrer"); private JButton EnregistrerProd=new JButton("Enregistrer"); private JButton Annuler_produit=new JButton("Annuler"); private JButton Annuler_commerçant=new JButton("Annuler"); private JButton nouveau_stock=new JButton("nouveau stock"); private JMenu Menu1 =new JMenu("menu1"); private JMenuItem t1 =new JMenu("nouveau stock"); JPanel top1 = new JPanel(); private JTextField numCommercant_tfd = new JTextField(10); private JPasswordField password_tfd = new JPasswordField(10); private JTextField nouveauCommercant = new JTextField(10); private JTextField nomCommercant_tfd = new JTextField(10); private JTextField adrresseComm_tfd = new JTextField(10); private JTextField Ville_tfd= new JTextField(10); private JTextField enterPassword_tfd = new JTextField(10); private JTextField nomProduit_tfd = new JTextField(10); private JTextField prix_unitaire_tfd = new JTextField(10); private JTextField type_tfd = new JTextField(10); private JTextField codeProduit_tfd= new JTextField(10); private JTextField nomCategorie_tfd = new JTextField(10); private JTextField nomStock_tfd= new JTextField(10); private JTextField numClient_tfd = new JTextField(""); // permet d'entrer a chaque fois le numero du client volant acheter le ou les produits private JLabel numClient_lab = new JLabel("Numero du client :"); private JLabel numCommercant_lab = new JLabel("Numero du Commerçant :",Label.RIGHT); private JLabel password_lab = new JLabel("Mot de passe :",Label.RIGHT); private JLabel lab1_2 = new JLabel("Nouveau commerçant :",Label.RIGHT); private JLabel nomCommercant_lab = new JLabel("Nom du commerçant :",Label.RIGHT); private JLabel lab1_4 = new JLabel("Numero du commerçant :",Label.RIGHT); private JLabel adresse_lab = new JLabel("Adresse :",Label.RIGHT); private JLabel Ville_lab = new JLabel("Ville :",Label.RIGHT); private JLabel enterPassword_lab = new JLabel("Entrer votre mot de passe :",Label.RIGHT); private JLabel lab1_8 = new JLabel("Nom du stock :",Label.RIGHT); private JLabel lab1_9 = new JLabel("Nom de la catégorie :",Label.RIGHT); private JLabel nomProduit_lab = new JLabel("Nom du produit :",Label.RIGHT); private JLabel type_lab = new JLabel("Type :",Label.RIGHT); private JLabel prix_unitaire_lab = new JLabel("Prix unitaire :",Label.RIGHT); private JLabel lab1_13 = new JLabel("Code du produit :",Label.RIGHT); private JLabel lab1_14 = new JLabel(); JPanel P1_1=new JPanel(); JPanel P1_2=new JPanel(); JButton plus_stock=new JButton("+"); // ce bouton renvoie a la methode creer un stock JButton plus_categorie=new JButton("+"); private JButton effectuer_achat=new JButton("Effectuer une vente"); private JLabel numAchat_lab = new JLabel("Numéro achat"); private JTextField numAchat_tfd = new JTextField(10); private JLabel dateAchat_lab = new JLabel("Date de l'achat"); private JTextField dateAchat_tfd = new JTextField(10); private JLabel Produit_lab = new JLabel("Liste des produits"); private JTextField listProduit_tfd = new JTextField(10); private JLabel montant_lab = new JLabel("Montant de l'achat"); ; private JTextField montantAchat_tfd = new JTextField(10); private JButton EnregistrerA = new JButton("Enregistrer");; private JButton Annuler_vendreP = new JButton("Annuler"); /* private JTextField nomStock = new JTextField(10); private JTextField codeStock= new JTextField(10); //private JTextField nomCategorie = new JTextField(10); private JTextField codeCategorie= new JTextField(10); private JButton choixCategories = new JButton("choi categori");// private JLabel nomStock_lab = new JLabel("Nom du stock :",Label.RIGHT); private JLabel codeStock_lab = new JLabel("Code stock :",Label.RIGHT); private JLabel nomCategorie_lab = new JLabel("Nom catégorie :",Label.RIGHT); private JLabel codeCategorie_lab = new JLabel("Code Catégorie :",Label.RIGHT); private JLabel choixCategories_lab = new JLabel("Choix des catégories :",Label.RIGHT); private JButton Enregistrer=new JButton("Enregistrer"); */ public AcceuilInterface(){} public AcceuilInterface(Color color){ this.color = color; this.home(); } public void home() { this.setLayout(bL); comb1.addItem("stock1"); comb1.addItem("stock2"); P1_1.setLayout(new BoxLayout(P1_1, BoxLayout.LINE_AXIS)); P1_1.add(comb1); P1_1.add(plus_stock); comb2.addItem("categori1"); comb2.addItem("categori2"); P1_2.setLayout(new BoxLayout(P1_2, BoxLayout.LINE_AXIS)); P1_2.add(comb2); P1_2.add(plus_categorie); P1.setLayout(new BoxLayout(P1, BoxLayout.LINE_AXIS)); P1.add(Utilisateurs); P1.add(Stocker_un_produit); P1.add(effectuer_achat); DataBaseAccess D =new DataBaseAccess(); StockInterface SI=new StockInterface(); plus_stock.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent arg0) { JOptionPane jop1; //Boîte du message d'information jop1 = new JOptionPane(); JOptionPane.showMessageDialog(null, "Si votre stock ne se trouve pas dans la liste de selection, aller à 'Stock' et créer votre stock.", "Information", JOptionPane.INFORMATION_MESSAGE); } }); plus_categorie.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent arg0) { JOptionPane jop1; //Boîte du message d'information jop1 = new JOptionPane(); JOptionPane.showMessageDialog(null, "Si votre catégorie ne se trouve pas dans la liste de selection, aller à 'Stock' et créer votre catégorie.", "Information", JOptionPane.INFORMATION_MESSAGE); } }); Utilisateurs.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent arg0) { connecter(); } }); Stocker_un_produit.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent arg0) { stockerProduit(); } }); S_enregistrer.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent arg0) { /*JOptionPane jop1; //Boîte du message d'information jop1 = new JOptionPane(); JOptionPane.showMessageDialog(null, "Message informatif", "Information", JOptionPane.INFORMATION_MESSAGE); */ enregistrerCommercant(); } }); effectuer_achat.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent arg0) { vendre_produit(); } }); EnregistrerA.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent arg0) { try{ Achat A=new Achat(recuperer_id(),recuperer_date(), listProduit_tfd.getText().toString(),montantAchat_tfd.getText().toString(), numClient_tfd.getText().toString()); D.effectuer_Achat(A); listProduit_tfd.setText(""); montantAchat_tfd.setText(""); numClient_tfd.setText(""); }catch(Exception e){ // e.printStackTrace(); JOptionPane jop1; //Boîte du message d'information // jop1 = new JOptionPane(); JOptionPane.showMessageDialog(null, e.getMessage(), "ERREUR ! ",JOptionPane.ERROR_MESSAGE); } } }); EnregistrerCom.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent arg0) { System.out.print("ici"); Commercant com=new Commercant(recuperer_id(), nomCommercant_tfd.getText().toString(), adrresseComm_tfd.getText().toString(), Ville_tfd.getText().toString(), enterPassword_tfd.getText().toString()); D.Eneregistrer_Commercant(com); nomCommercant_tfd.setText(""); adrresseComm_tfd.setText(""); Ville_tfd.setText(""); enterPassword_tfd.setText(""); } }); EnregistrerProd.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent arg0) { Produit prod=new Produit(recuperer_id(), nomProduit_tfd.getText().toString(), prix_unitaire_tfd.getText().toString(), type_tfd.getText().toString()); Commercant com=new Commercant(recuperer_id(), nomCommercant_tfd.getText().toString(), adrresseComm_tfd.getText().toString(), Ville_tfd.getText().toString(), enterPassword_tfd.getText().toString()); Stock stoc=new Stock(recuperer_id(), nomStock_tfd.getText().toString()); D.stocker_Produits(com,prod,stoc); } }); Conexion.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent arg0) { D.connexion_11(numCommercant_tfd.getText(),password_tfd.getText()); numCommercant_tfd.setText(""); password_tfd.setText(""); } }); Annuler_commerçant.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent arg0) { connecter(); } }); Annuler_produit.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent arg0) { //connecter(); } }); Annuler_vendreP.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent arg0) { //effectuer_achat.dispose(); } }); this.add(P1, BorderLayout.NORTH); this.add(centerPane1, BorderLayout.CENTER); } public void connecter() { this.invalidate(); centerPane1.removeAll(); //Retire le contenu d un onglet e passe a l'autre onglet du clic. S_enregistrer.setBackground(Color.orange); Conexion.setBackground(Color.orange); top1.setLayout(new GridLayout(4,2,2,6)); top1.setPreferredSize(new Dimension(500,140)); top1.add(numCommercant_lab); top1.add(numCommercant_tfd); top1.add(password_lab); top1.add(password_tfd); top1.add(Conexion); top1.add(S_enregistrer); centerPane1.add(top1,BorderLayout.CENTER); this.add(centerPane1, BorderLayout.CENTER); this.validate(); // this.repaint(); // redessine. } public void enregistrerCommercant() { this.invalidate(); centerPane1.removeAll(); JPanel top1_2 = new JPanel(new GridLayout(6,5,5,20)); top1_2.setPreferredSize(new Dimension(500,250)); //top1_2.add(lab1_4); //top1_2.add(numCommercant); top1_2.add(nomCommercant_lab); top1_2.add(nomCommercant_tfd); top1_2.add(adresse_lab); top1_2.add(adrresseComm_tfd); top1_2.add(Ville_lab); top1_2.add(Ville_tfd); top1_2.add(enterPassword_lab); top1_2.add(enterPassword_tfd); top1_2.add( EnregistrerCom); top1_2.add(Annuler_commerçant); centerPane1.add(top1_2,BorderLayout.CENTER); this.add(centerPane1,BorderLayout.CENTER); //this.add(centerPane1, BorderLayout.CENTER); this.validate(); this.repaint(); } public void stockerProduit() { // On doit obtenir le nom du stock et de la cat�gorie pour stocker le produit. this.invalidate(); centerPane1.removeAll(); JPanel top1_3 = new JPanel(new GridLayout(7,5,5,20)); top1_3.setPreferredSize(new Dimension(500,300)); top1_3.add(lab1_8); top1_3.add(P1_1); top1_3.add(lab1_9); top1_3.add(P1_2); top1_3.add(nomProduit_lab); top1_3.add(nomProduit_tfd); top1_3.add(type_lab); top1_3.add(type_tfd); top1_3.add(prix_unitaire_lab); top1_3.add(prix_unitaire_tfd); top1_3.add(EnregistrerProd); top1_3.add(Annuler_produit); centerPane1.add(top1_3,BorderLayout.CENTER); this.add(centerPane1, BorderLayout.CENTER); this.validate(); this.repaint(); } public void vendre_produit() { // = effectuer un achat. this.invalidate(); centerPane1.removeAll(); JPanel top1_3 = new JPanel(new GridLayout(7,5,5,20)); top1_3.setPreferredSize(new Dimension(500,300)); //top1_3.add(dateAchat_lab); //top1_3.add(dateAchat_tfd); top1_3.add(Produit_lab); top1_3.add(listProduit_tfd); top1_3.add(montant_lab); top1_3.add(montantAchat_tfd); top1_3.add(numClient_lab); top1_3.add(numClient_tfd); top1_3.add(EnregistrerA); top1_3.add(Annuler_vendreP); centerPane1.add(top1_3,BorderLayout.CENTER); this.add(centerPane1, BorderLayout.CENTER); this.validate(); this.repaint(); } public JButton getAnnuler_vendreP(){ return Annuler_vendreP; } public JButton getAnnuler_produit(){ return Annuler_produit; } public int recuperer_id(){ Random rand = new Random(); return rand.nextInt(9999); } public String recuperer_date(){ String format = "dd/MM/yy H:mm:ss"; java.text.SimpleDateFormat formater = new java.text.SimpleDateFormat( format ); java.util.Date date = new java.util.Date(); System.out.println( formater.format(date) ); return formater.format( date ); } public JTextField getNumCommercant_tfd() { return numCommercant_tfd; } public JTextField getPassword_tfd() { return password_tfd; } public void actionPerformed(ActionEvent arg0) { // TODO Auto-generated method stub } }
Ce que je comprends pas c'est que dans ta classe AcceuilInterface, il y a pleins de composants, dont plusieurs passwords, et plusieurs id. On n'est obligé de se loguer à chaque action ? Et dans la même interface que le reste. En plus, je vois qu'il y a des méthodes qui créé des panels, et ajoute ces champs dedans. C'est une sacré usine à gaz, et il va me falloir du temps pour comprendre comment ça marche (comment c'est censé marcher). Je pensais que AccueilInterface avait 2 champs : un login et un password, tout simplement.
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.
Salut
le bouton mis pour le login est le bouton 'Conexion.'
ça c'est la méthode du formulaire de l'authentification :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 /CODE]Conexion.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent arg0) { D.connexion_11(numCommercant_tfd.getText(),password_tfd.getText()); numCommercant_tfd.setText(""); password_tfd.setText(""); } });
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 public void connecter() { this.invalidate(); centerPane1.removeAll(); //Retire le contenu d un onglet e passe a l'autre onglet du clic. S_enregistrer.setBackground(Color.orange); Conexion.setBackground(Color.orange); top1.setLayout(new GridLayout(4,2,2,6)); top1.setPreferredSize(new Dimension(500,140)); top1.add(numCommercant_lab); top1.add(numCommercant_tfd); top1.add(password_lab); top1.add(password_tfd); top1.add(Conexion); top1.add(S_enregistrer); centerPane1.add(top1,BorderLayout.CENTER); this.add(centerPane1, BorderLayout.CENTER); this.validate(); // this.repaint(); // redessine. }
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager