Mot de passe avec interface grafique!

cs_Delamour Messages postés 19 Date d'inscription dimanche 11 juillet 2004 Statut Membre Dernière intervention 1 février 2007 - 11 juil. 2004 à 14:07
GillesWebmaster Messages postés 496 Date d'inscription mercredi 30 juin 2004 Statut Membre Dernière intervention 29 juillet 2009 - 6 nov. 2005 à 18:20
Vous avez dit JAVA? beh "Javatons" dont tous ensemble

Slut! j ai un gros pb, o fait j ecris un prog pr simulation d automate bancaire, et depuis 5 jours je suis bloké au niveau de la saisie du mot de passe. En fait le programme marche très bien sans interface grafik, mais qd je le fais avec l interface grafik, ca ne va plus, apres avoir saisi un mauvais mot de passe "la carte est blokée" prtant ceci devrait normalemnt avoir lieu apres la 3 eme tentatives! Je comprends pas ce ki ce passe! Aidez moi SVP!
NB: A l execution du programme il y a ce massage ki apparait:Note: Recompile with -deprecation for details

Ci dessou les 2 codes:

1. Le code sans Interface Grapfik(Marche sans Probleme):
import ea.*; // Package Personnel pr les entrées et Sorties
public class Essay{

// Metode pr la Verification: le pin doit contenir au moins une fois le chiffre 1
public static boolean verification(String kartetyp) {
boolean verify = false;
for(int i=0; i<kartetyp.length(); i++) {
char x = kartetyp.charAt(i);
if(x=='1') {
verify = true;
}
else {
verify = false;
}
}
return verify;
}


public static boolean verifyCodeSecret()
{
String motDePasse=null;
boolean res=false;
int nbEssai=1;
boolean ok;
Ausgabe.schreib("SVP saissez le Pin");
motDePasse=Eingabe.liesString();//Entrée du PIN
ok = verification(motDePasse);
if (ok==true)
{
Ausgabe.schreib("pin Correct!");
res=true;

}
else
{

do
{
Ausgabe.schreib("pin incorrect reessayez!\n");
motDePasse=Eingabe.liesString();//Entrée du PIN
ok = verification(motDePasse);
nbEssai=nbEssai+1;
res = false;
if(ok==true) {
Ausgabe.schreib("pin Correct!");
}
if((nbEssai==3)&&ok!=true) {
Ausgabe.schreib("Karte Bloquée");
}

} while(nbEssai==2 && ok!=true);

}
return res;
}

public static void main(String[] args) {
boolean verify=verifyCodeSecret();

}
}

/* Generated by Together */

import javax.swing.JDialog;
import javax.swing.JFrame;
import java.awt.event.WindowEvent;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JPasswordField;
import javax.swing.JButton;
import java.awt.Dimension;
import java.awt.Font;
import javax.swing.SwingConstants;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JOptionPane;

public class GuiWillkommen extends JFrame {

/** Creates new form JFrame */
public GuiWillkommen() {
initGUI();
pack();
}

/** This method is called from within the constructor to initialize the form. */
private void initGUI() {
PinLabel.setText("Pin Code:");
PinLabel.setFont(new java.awt.Font("SansSerif", java.awt.Font.BOLD, 12));
PinLabel.setHorizontalAlignment(javax.swing.SwingConstants.LEFT);
PinLabel.setForeground(new java.awt.Color(255,0,51));
addWindowListener(
new java.awt.event.WindowAdapter() {
public void windowClosing(java.awt.event.WindowEvent evt) {
exitForm(evt);
}
});
setTitle("Inscription au System! ");
getContentPane().setLayout(new java.awt.BorderLayout());
getContentPane().add(anmeldungPanel, java.awt.BorderLayout.CENTER);
anmeldungPanel.setLayout(new java.awt.GridLayout(4, 1));
anmeldungPanel.add(beguessungPanel);
anmeldungPanel.add(melungPanel);
anmeldungPanel.add(pinPanel);
anmeldungPanel.add(okPanel);
beguessungPanel.setLayout(new java.awt.FlowLayout());
beguessungPanel.add(begruessenLabel);
begruessenLabel.setText("le Service Peanautsbanque vous souhaite la Bienvenue!");
begruessenLabel.setFont(new java.awt.Font("Times New Roman", java.awt.Font.BOLD, 14));
begruessenLabel.setHorizontalAlignment(javax.swing.SwingConstants.LEADING);
begruessenLabel.setForeground(new java.awt.Color(51, 51, 255));
begruessenLabel.setBackground(new java.awt.Color(255, 255, 255));
melungPanel.setLayout(new java.awt.FlowLayout());
melungPanel.add(meldungLabel);
meldungLabel.setText("Veillez insérer votre Carte Bancaire et saisissez le Code Pin!");
meldungLabel.setFont(new java.awt.Font("Monospaced", java.awt.Font.BOLD, 12));
meldungLabel.setForeground(new java.awt.Color(51,51,255));
pinPanel.setLayout(new java.awt.FlowLayout());
pinPanel.add(PinLabel);
pinPanel.add(pinFeld);
okPanel.setLayout(new java.awt.FlowLayout(java.awt.FlowLayout.RIGHT));
okPanel.add(okButton);
okPanel.add(CancelButton);
okButton.setText("OK");
okButton.setFont(new java.awt.Font("SansSerif",java.awt.Font.BOLD,11));
okButton.setMaximumSize(new java.awt.Dimension(91,27));
okButton.setMinimumSize(new java.awt.Dimension(91,27));
okButton.setPreferredSize(new java.awt.Dimension(91,27));
CancelButton.setText("CANCEL");
CancelButton.setVerticalAlignment(javax.swing.SwingConstants.CENTER);
CancelButton.setVerticalTextPosition(javax.swing.SwingConstants.CENTER);
CancelButton.setHorizontalAlignment(javax.swing.SwingConstants.LEADING);
CancelButton.setHorizontalTextPosition(javax.swing.SwingConstants.LEADING);
CancelButton.setFont(new java.awt.Font("SansSerif",java.awt.Font.BOLD,11));
pinFeld.setText("");
pinFeld.setSize(new java.awt.Dimension(120, 20));
pinFeld.setMinimumSize(new java.awt.Dimension(120,20));
pinFeld.setPreferredSize(new java.awt.Dimension(120,20));
pinFeld.setHorizontalAlignment(javax.swing.JTextField.RIGHT);
okButton.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent e){okButtonActionPerformed(e);}});
}

/** Exit the Application */
private void exitForm(WindowEvent evt) {
System.exit(0);
}





//Metode pr la Verification mot depasse doit contenir au moins une fois le chiffre 1
private boolean pruefePin(String kartetyp) {
boolean verify = false;
for(int i=0; i<kartetyp.length(); i++) {
char x = kartetyp.charAt(i);
if(x=='1') {
verify = true;
}
else {
verify = false;
}
}
return verify;
}

/////////////
public void okButtonActionPerformed(ActionEvent e) {

String motpasse=null;
boolean ok;
int nbEssai=1;

try {
int pin = Integer.parseInt(pinFeld.getText());

motpasse = pinFeld.getText();
motpasse = java.lang.String.copyValueOf(pinFeld.getPassword());
ok =pruefePin(motpasse);
if (ok==true){
JOptionPane.showMessageDialog(this, "Pin Correct!");
this.setVisible(false);
}

else
{
do
{
meldungLabel.setText("Pin incorrect, reessayez SVP!");
pinFeld.setEnabled(false);
motpasse = pinFeld.getText();
ok=pruefePin(motpasse);
nbEssai=nbEssai+1;

if(ok==true) {
JOptionPane.showMessageDialog(this, "Pin Correct!");
this.setVisible(false);
}

if((nbEssai==3)&& ok!=true) {
meldungLabel.setText("Karte bloquee");
pinFeld.setEnabled(false);
}
}
while(nbEssai==2 && ok!=true);

}
}
catch(NumberFormatException b) {
meldungLabel.setText("un Chiffre Svp!");
pinFeld.setText(null);
}

}

private JPanel anmeldungPanel = new JPanel();
private JPanel beguessungPanel = new JPanel();
private JLabel begruessenLabel = new JLabel();
private JPanel melungPanel = new JPanel();
private JLabel meldungLabel = new JLabel();
private JPanel pinPanel = new JPanel();
private JLabel PinLabel = new JLabel();
private JPanel okPanel = new JPanel();
private JButton okButton = new JButton();
private JButton CancelButton = new JButton();
private JPasswordField pinFeld = new JPasswordField();

public static void main(String[] args) {
GuiWillkommen willkommen = new GuiWillkommen();
willkommen.setVisible(true);
}
}
Merci d avance!

3 réponses

wargre Messages postés 649 Date d'inscription mardi 8 juin 2004 Statut Membre Dernière intervention 9 septembre 2004 7
12 juil. 2004 à 11:15
rigolo tu fais:

si appuie sur OK alors "traitement".

"traitement" fait :

ndEssai=1
verification
si pas verification alors
jusque nbessai!=3 : verification nbessai++

la seconde partie sert a rien autant faire une boucle vide

nbEssai est a mettre dehors et a la fin de "traitement" incremente nbEssai et verifie qu'il n'est pas a 3
0
GillesWebmaster Messages postés 496 Date d'inscription mercredi 30 juin 2004 Statut Membre Dernière intervention 29 juillet 2009 1
6 nov. 2005 à 18:13
Bonjour ,
C'est en fait l'utilisation d'un JPasswordField qui pose problème dans votre application graphique. Java ne permet apparement pas d'accéder au mot de pass entré par le visiteur; je dis "apparement" car j'ai le même problème et je n'ai pas de solution...
Bonne journeé quand même...
GillesWebmaster


<HR SIZE=2>

Si ma réponse te plaît merci de l'accepter
0
GillesWebmaster Messages postés 496 Date d'inscription mercredi 30 juin 2004 Statut Membre Dernière intervention 29 juillet 2009 1
6 nov. 2005 à 18:20
Bonjour ,
Je viens de trouver la solution, dans l'API ils nous disent "As of Java 2 platform v1.2, replaced by
getPassword
." donc tu n'as qu'à changer getText() par getPassword()...
Bonne soirée


<HR SIZE=2>

Si ma réponse te plaît merci de l'accepter
0
Rejoignez-nous