Manou1980
Messages postés11Date d'inscriptionjeudi 30 juin 2011StatutMembreDernière intervention31 octobre 2011
-
6 juil. 2011 à 16:58
Manou1980
Messages postés11Date d'inscriptionjeudi 30 juin 2011StatutMembreDernière intervention31 octobre 2011
-
6 juil. 2011 à 17:28
Bonjour,
Le mot de passe récupéré par un champ texte qui se trouve dans une interface graphique est stocké caractère par caractère dans un fichier texte avec le [B]Relative TimeStamp[/B] : 2011-07-06 15:24:16.876
[U]Example Demandé:[/U] Mot de passe tapé par l'utilisateur : abc
Fichier Correspondant contient :
2011-07-06 15:24:16.876 a
2011-07-06 15:24:16.878 b
2011-07-06 15:24:16.879 c
Mon souci c'est que le fichier affiche que le dernier caractère saisi dans le champ password.
[U]Example Réel:[/U] Mot de passe tapé par l'utilisateur : abc
Fichier Correspondant contient :
2011-07-06 15:24:16.879 c
Voici le code:
import java.io.*;
import java.sql.Timestamp;
import java.util.Date;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
public class Login extends JFrame
{
// Variables declaration
private JLabel jLabel1;
private JLabel jLabel2;
private JTextField jTextField1;
private JPasswordField jPasswordField1;
private JButton jButton1;
private JPanel contentPane;
// End of variables declaration
public Login()
{
super();
create();
this.setVisible(true);
}
private void create()
{
jLabel1 = new JLabel();
jLabel2 = new JLabel();
jTextField1 = new JTextField();
jPasswordField1 = new JPasswordField();
jButton1 = new JButton();
contentPane = (JPanel)this.getContentPane();
//
// jLabel1
//
jLabel1.setHorizontalAlignment(SwingConstants.LEFT);
jLabel1.setForeground(new Color(0, 0, 255));
jLabel1.setText("Username:");
//
// jLabel2
//
jLabel2.setHorizontalAlignment(SwingConstants.LEFT);
jLabel2.setForeground(new Color(0, 0, 255));
jLabel2.setText("Password:");
//
// jTextField1
//
jTextField1.setForeground(new Color(0, 0, 255));
jTextField1.setSelectedTextColor(new Color(0, 0, 255));
jTextField1.setToolTipText("Enter your username");
jTextField1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e)
{
jTextField1_actionPerformed(e);
}
});
//jTextField1.addKeyListener(new RecepteurClavier());
//
// jPasswordField1
//
jPasswordField1.setForeground(new Color(0, 0, 255));
jPasswordField1.setToolTipText("Enter your password");
jPasswordField1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e)
{
jPasswordField1_actionPerformed(e);
}
});
jPasswordField1.addKeyListener(new RecepteurClavier()); // auquel on rajoute un recepteur clavier
//
// jButton1
//
jButton1.setBackground(new Color(204, 204, 204));
jButton1.setForeground(new Color(0, 0, 255));
jButton1.setText("Login");
jButton1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e)
{
jButton1_actionPerformed(e);
}
});
//
// contentPane
//
contentPane.setLayout(null);
contentPane.setBorder(BorderFactory.createEtchedBorder());
contentPane.setBackground(new Color(204, 204, 204));
addComponent(contentPane, jLabel1, 5,10,106,18);
addComponent(contentPane, jLabel2, 5,47,97,18);
addComponent(contentPane, jTextField1, 110,10,183,22);
addComponent(contentPane, jPasswordField1, 110,45,183,22);
addComponent(contentPane, jButton1, 150,75,83,28);
//
// login
//
this.setTitle("Login To Members Area");
this.setLocation(new Point(76, 182));
this.setSize(new Dimension(335, 141));
this.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
this.setResizable(false);
}
/** Add Component Without a Layout Manager (Absolute Positioning) */
private void addComponent(Container container,Component c,int x,int y,int width,int height)
{
c.setBounds(x,y,width,height);
container.add(c);
}
private void jTextField1_actionPerformed(ActionEvent e)
{
}
private void jPasswordField1_actionPerformed(ActionEvent e)
{
}
private void jButton1_actionPerformed(ActionEvent e)
{
System.out.println("\njButton1_actionPerformed(ActionEvent e) called.");
String username = new String(jTextField1.getText());
String password = new String(jPasswordField1.getText());
if(username.equals("") || password.equals("")) // If password and username is empty > Do this >>>
{
jButton1.setEnabled(false);
JLabel errorFields = new JLabel("<HTML><FONT COLOR = Blue>You must enter a username and password to login.</FONT></HTML>");
JOptionPane.showMessageDialog(null,errorFields);
jTextField1.setText("");
jPasswordField1.setText("");
jButton1.setEnabled(true);
this.setVisible(true);
}
else
{
JLabel optionLabel = new JLabel("<HTML><FONT COLOR = Blue>You entered</FONT><FONT COLOR = RED> <B>"+username+"</B></FONT> <FONT COLOR = Blue>as your username.<BR> Is this correct?</FONT></HTML>");
int confirm =JOptionPane.showConfirmDialog(null,optionLabel);
switch(confirm)
{ // Switch > Case
case JOptionPane.YES_OPTION: // Attempt to Login user
jButton1.setEnabled(false); // Set button enable to false to prevent 2 login attempts
break;
case JOptionPane.NO_OPTION: // No Case.(Go back. Set text to 0)
jButton1.setEnabled(false);
jTextField1.setText("");
jPasswordField1.setText("");
jButton1.setEnabled(true);
break;
case JOptionPane.CANCEL_OPTION: // Cancel Case.(Go back. Set text to 0)
jButton1.setEnabled(false);
jTextField1.setText("");
jPasswordField1.setText("");
jButton1.setEnabled(true);
break;
} // End Switch > Case
}
}
public static void ecrireFichier(String path, char letter)
{
PrintWriter ecri = null;
try
{
ecri = new PrintWriter(new FileWriter(path));
char espace = ' ';
java.util.Date date= new java.util.Date();
ecri.print(new Timestamp(date.getTime()));
ecri.print(espace);
ecri.println(letter);
}
catch (NullPointerException a)
{
System.out.println("Erreur : pointeur null");
}
catch (IOException a)
{
System.out.println("Problème d'IO");
}
if(ecri != null)
{
ecri.flush();
ecri.close();
}
}
public static void main(String[] args)
{
JFrame.setDefaultLookAndFeelDecorated(true);
JDialog.setDefaultLookAndFeelDecorated(true);
try
{
UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel");
}
catch (Exception ex)
{
System.out.println("Failed loading L&F: ");
System.out.println(ex);
}
new Login();
};
public class RecepteurClavier implements KeyListener
{
public void keyPressed(KeyEvent event)
{
char letter = event.getKeyChar();
Login.ecrireFichier( "Password.txt", letter);
}
public void keyReleased(KeyEvent event) {}
public void keyTyped(KeyEvent event) {}
}
}
Trouvez des réponses à vos questions sur les langages, les frameworks et les astuces de codage. Échangez avec d'autres développeurs passionnés pour améliorer vos compétences en programmation et rester au fait des dernières tendances du secteur.