si j'ai l'essayé mais rien de spécial
si j'ai l'essayé mais rien de spécial
non tu ne l'as pas bien essayé car il marche. Fait attention deux chose change ... getSource et non getActionCommande.
Normalement une fois ca changé, tu doit avoir une erreur !!! Ca vient de ton décryptatge.
La deuxieme erreur est normale !!!
Tu n'as cas utiliser les regle de codage que l'on te donne.
tu a ta classe.
Une variable membre toto.
dans une METHODE tu cré une autre variable toto que tu initialise. A la fin de ta méthode la variable locale est DETRUITE !!!!
Ta variable membre n'a toujours ma été initialisé.
Donc quant dans ton listener tu utilise la variable non initialisé, ben ca plante.
Donc supprime a ta ligne 56 le type tu ne doit avoir que cela "txt = new JPasswordField(5);"
Bon je crois que la tu as un vrai soucis en programmation objet !!! Je te recommande fortement de lire un tutauriel la dessus car si tu ne comprend pas cela, ben ca va etre dur !!!
Fait attention quant tu recopie les codes, tout est important !!!Envoyé par croc14
C'est exactement ce que tu vient de faire. Donc cette méthode ou une autre, c'est pareil !!! Le tout est de respecter des méthode pour mieux y voir dans ton code.
j'ai bien compris la procedure et j'ai modifié le code par
et cette partie
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 txt = new JPasswordField(5); txt.setActionCommand("bouton"); txt.addActionListener(this); container.add(txt);
mais toujours pas de message de boite de dialogue
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 public void actionPerformed(ActionEvent e) { String cmd = e.getActionCommand(); if (bouton.equals(cmd)) { char[] input =txt.getPassword(); if (isPasswordCorrect(input)){ JOptionPane.showMessageDialog(this, "success"); }else{ JOptionPane.showMessageDialog(this, "Invalid password. Try again.", "Error Message", JOptionPane.ERROR_MESSAGE); } } } private static boolean isPasswordCorrect(char[] input) { boolean isCorrect = true; char[] correctPassword = { 'a', 'l', 'l', 'o'}; if (input.length != correctPassword.length) { isCorrect = false; } else { for (int i = 0; i < input.length; i++) { if (input[i] != correctPassword[i]) { isCorrect = false; } } } //Zero out the password. for (int i = 0; i < correctPassword.length; i++) { correctPassword[i] = 0; } return isCorrect; }
Non mais sans rire tu te moque de nous ?
Envoyé par croc14
Pourquoi tu ne fais pas de simple copié collé de ce que l'on te marque !!!!
Encore une fois tu modifie les deux truc a meme temps !!!
Tu compare le texte contenu dans le bouton avec le bouton !!! Franchement il faut en vouloir !!!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 String cmd = e.getActionCommand(); if (bouton.equals(cmd))
Alors
ou tu compare le texte que tu récupère (getActionCommand() => string) avec le texte du bouton (string = "entrer ")
ou tu compare l'objet que tu récupère (getSource() => Objet) avec le BOUTON (bouton)!!!
Ce code fonctionne !!! C'est garanti !!!
Si tu as un soucis avec, ben ca vient du fait que tu recopi mal !!!
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 package aa; import java.text.*; import java.util.Date; import java.text.DateFormat; import java.sql.*; import java.util.*; import java.awt.FlowLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.Dimension; import java.awt.FlowLayout; import javax.swing.*; import java.awt.*; import java.io.*; import java.lang.*; public class SimpleFenetre extends JFrame implements ActionListener { private JPanel container = null; //Déclaration de lobjet JPanel private FlowLayout layout = null; //Déclaration de notre layout private JLabel labelResultat = null; //Déclaration de l'objet JLabel private JLabel labelResultat2 = null; JPasswordField txt =null; private JButton bouton = null; public SimpleFenetre() { super(); build(); //On initialise notre fenêtre } private void build() { this.setContentPane(getContainer()); this.setTitle("Ma première application"); //On donne un titre à lapplication this.setSize(820, 640); //On donne une taille à notre fenêtre this.setLocationRelativeTo(null); //On centre la fenêtre sur lécran this.setResizable(false); //On interdit la redimensionnement de la fenêtre this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //On dit à lapplication de se fermer lors du clic sur la croix } private JPanel getContainer() { layout = new FlowLayout(); //Instanciation du layout layout.setAlignment(FlowLayout.CENTER); //On centre les composants container = new JPanel(); //On crée notre objet container.setLayout(layout); //On applique le layout labelResultat2 = new JLabel("inserer votre mot de passe"); labelResultat2.setPreferredSize(new Dimension(100, 25)); Color couleur = Color.red; labelResultat2.setForeground(couleur); container.add(labelResultat2); txt = new JPasswordField(5); txt.setEchoChar('*'); txt.setPreferredSize(new Dimension(100, 25)); container.add(txt); bouton = new JButton("entrer "); bouton.setPreferredSize(new Dimension(125, 25)); bouton.addActionListener(this); container.add(bouton); return container; } public static void main(String[] args) { SimpleFenetre gui = new SimpleFenetre(); //On crée une nouvelle instance de notre fenêtre gui.setVisible(true); } public void actionPerformed(ActionEvent e) { if (e.getSource().equals(bouton)) { String input = String.valueOf(txt.getPassword()); if (isPasswordCorrect(txt.getPassword())) { JOptionPane.showMessageDialog(this, "success"); } else { JOptionPane.showMessageDialog(this,"Invalid password. Try again.","Error Message",JOptionPane.ERROR_MESSAGE); } } } private static boolean isPasswordCorrect(char[] input) { boolean isCorrect = true; char[] correctPassword = { 'a', 'l', 'l', 'o'}; if (input.length != correctPassword.length) { isCorrect = false; } else { for (int i = 0; i < input.length; i++) { if (input[i] != correctPassword[i]) { isCorrect = false; } } } //Zero out the password. for (int i = 0; i < correctPassword.length; i++) { correctPassword[i] = 0; } return isCorrect; } }
merci encore
j'ai bien compris
j'ai modifié le code pour aller vers une autre interface j'ai crée une autre interface MySql
alors volia la modification
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 public void actionPerformed(ActionEvent e) { if (e.getSource().equals(bouton)) { String input = String.valueOf(txt.getPassword()); if (isPasswordCorrect(txt.getPassword())) { MySql maf = new MySql(); } else { JOptionPane.showMessageDialog(this,"Invalid password. Try again.","Error Message",JOptionPane.ERROR_MESSAGE); } } }
mais ça n'a pas marché comment je dois modifié pour allervers interface Mysql
voila j'ai modifié le code mais ce que je cherche c'est de fermer la premier fenetre et apparaitre la deuxieme fenetre mais
mon code m'affiche les deux fenetres
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 public void actionPerformed(ActionEvent e) { if (e.getSource().equals(bouton)) { String input = String.valueOf(txt.getPassword()); if (isPasswordCorrect(txt.getPassword())) { MySql maf = new MySql(); maf.setVisible(true); } else { JOptionPane.showMessageDialog(this,"Invalid password. Try again.","Error Message",JOptionPane.ERROR_MESSAGE); } } }
Ou tu dis que tu la ferme ta première fenetre !!!
Sachant que tu crée juste un nouvel objet !!! Comment celui va survivre si tu ferme ta fenêtre principale !!!
Je dirais setVible(false); Mais ya un truc bizarre !!!
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