Introduction à JPasswordField

JPasswordField est un composant Swing et un champ de saisie qui permet à l'utilisateur de saisir son mot de passe. Vous devez avoir vu un tel champ lorsque vous vous connectez à un site Web comme Facebook ou Gmail qui affiche «*» ou tout autre caractère lorsque vous tapez votre mot de passe dans la zone de texte fournie. JPasswordField est la même chose.

Déclaration de Jpasswordfield

public class JPasswordField extends JTextField

Comme vous pouvez le voir, cette classe est une sous-classe de JTextField, elle hérite de toutes les propriétés d'un champ de texte plus ses propres fonctionnalités comme le masquage des caractères saisis.

Détails du constructeur

  • JPasswordField (): il s'agit du constructeur le plus simple qui crée un champ de mot de passe avec un document par défaut, une largeur de colonne nulle et aucune chaîne de texte de départ (nulle).
  • JPasswordField (Document doc, String txt, int columns): ce constructeur crée un champ de mot de passe avec un document spécifié, une largeur de colonne spécifiée et un mot de passe par défaut spécifié.
  • JPasswordField (int colonnes): ce constructeur crée un champ de mot de passe avec une largeur de colonne spécifiée.
  • JPasswordField (texte de chaîne): ce constructeur crée un champ de mot de passe avec le mot de passe par défaut spécifié.
  • JPasswordField (texte de chaîne, colonnes int): ce constructeur crée un champ de mot de passe avec une largeur de colonne spécifiée et un mot de passe par défaut spécifié.

Détails de la méthode

  • char () getPassword (): Il s'agit d'une méthode importante et la plus utile de la classe JPasswordField qui renvoie le mot de passe, sous la forme d'un tableau de caractères, entré dans ce JPasswordField.
  • String getText (): cette méthode renvoie le mot de passe, sous forme de chaîne, entré dans ce JPasswordField. Mais cette méthode est déconseillée dans la plate-forme Java 2 v1.2, remplacée par la méthode getPassword ().
  • String getText (int offs, int len): cette méthode renvoie une partie du mot de passe, sous forme de chaîne, entrée dans ce JPasswordField. Mais cette méthode est déconseillée dans la plate-forme Java 2 v1.2, remplacée par la méthode getPassword ().
  • void copy (): cette méthode appelle provideErrorFeedback sur l'apparence actuelle qui déclenche un bip d'erreur.
  • void cut (): cette méthode appelle provideErrorFeedback sur l'apparence actuelle qui déclenche un bip d'erreur.
  • boolean echoCharIsSet (): Cette méthode renvoie true si un caractère est défini pour faire écho à ce JPasswordField. Sinon, faux.
  • char getEchoChar (): Cette méthode renvoie le caractère qui est défini sur ce JPasswordField pour l'écho.
  • void setEchoChar (char c): cette méthode définit le caractère d'écho sur ce champ de mot de passe.
  • String getUIClassID (): cette méthode renvoie le nom de la classe look and feel qui rend ce composant.
  • protected String paramString (): Cette méthode renvoie une représentation sous forme de chaîne de ce champ de mot de passe.
  • void updateUI (): Cette méthode recharge l'interface utilisateur enfichable de ce champ de mot de passe.
  • AccessibleContext getAccessibleContext (): cette méthode renvoie le AccessibleContext associé à ce JPasswordField.

Exemple de Jpasswordfield

Voici l'exemple de Jpasswordfield:

Code:

package application;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JPasswordField;
import javax.swing.JTextField;
public class JPasswordFieldDemo (
public static void main(String() args) (
JFrame app = new JFrame("JPasswordField Demo");
app.setLayout(new GridLayout(4, 0));
app.setSize(400, 400);
JPanel panel1 = new JPanel();
JPanel panel2 = new JPanel();
JPanel panel3 = new JPanel();
JPanel panel4 = new JPanel();
JLabel label = new JLabel("Password : ");
JPasswordField passwordField = new JPasswordField(10);
JButton submit = new JButton("submit");
panel1.add(label);
panel1.add(passwordField);
panel1.add(submit);
JLabel status = new JLabel("Password is : ");
panel2.add(status);
JLabel label2 = new JLabel("Set echo character : ");
JTextField textFieldForEchoChar = new JTextField(5);
JButton setEchoCharButton = new JButton("SetEchoChar");
JLabel statusOfSetEchoChar = new JLabel("Echo character is : " + passwordField.getEchoChar());
panel3.add(label2);
panel3.add(textFieldForEchoChar);
panel3.add(setEchoCharButton);
panel4.add(statusOfSetEchoChar);
app.add(panel1);
app.add(panel2);
app.add(panel3);
app.add(panel4);
app.setVisible(true);
ActionListener actionListener = new ActionListener() (
@Override
public void actionPerformed(ActionEvent e) (
String command = e.getActionCommand();if (command.equals("submit")) (
String password = new String(passwordField.getPassword());
status.setText("Password is : " + password);
)
if (command.equals("SetEchoChar")) (
char echoChar = textFieldForEchoChar.getText().charAt(0);
passwordField.setEchoChar(echoChar);
statusOfSetEchoChar.setText("Echo character set to: " + echoChar);
)
)
);
submit.addActionListener(actionListener);
setEchoCharButton.addActionListener(actionListener);
)
)

Explication

Il s'agit d'une application simple dans laquelle JPasswordField et ses fonctionnalités sont présentés.

  • En haut, il y a un JFrame qui est notre application.
  • Dans ce JFrame, quatre panneaux sont ajoutés.
  • Dans le premier panneau, un JPasswordField est ajouté afin que l'utilisateur puisse entrer le mot de passe ici.
  • Et un bouton est ajouté pour soumettre le mot de passe.
  • Dans le deuxième panneau, un JLabel est ajouté pour montrer le mot de passe que l'utilisateur a entré. Lorsque l'utilisateur clique sur le bouton d'envoi du premier panneau, cet état sera modifié et le dernier mot de passe sera affiché.
  • Le statut dans le deuxième panneau est mis à jour à l'aide d'un écouteur d'actions qui est ajouté au bouton d'envoi.
  • Lorsque l'utilisateur tape le mot de passe, il n'est pas affiché dans le JPasswordField, à la place, les caractères d'écho sont affichés et le mot de passe est masqué.
  • Il existe un caractère d'écho par défaut. En outre, nous pouvons définir le caractère d'écho pour le champ de mot de passe. Maintenant, nous allons le faire.
  • Dans le troisième panneau, une zone de texte et un bouton sont ajoutés. Cette zone de texte doit prendre echo41char à l'utilisateur.
  • Les utilisateurs devront saisir un caractère et appuyer sur le bouton et le caractère d'écho sera défini dans le champ du mot de passe.
  • Dans le quatrième panneau, l'utilisateur peut voir le caractère d'écho actuel ou le caractère d'écho nouvellement défini du champ de mot de passe. Ceci est réalisé en utilisant un JLabel et un écouteur d'actions ajoutés au bouton dans le troisième panneau.

Production:

1. Il s'agit de l'application dans laquelle l'utilisateur peut entrer le mot de passe, voir le mot de passe entré, modifier le caractère d'écho du champ de mot de passe et voir le caractère d'écho actuel:

2. L'utilisateur entre maintenant le mot de passe («12345») et clique sur le bouton soumettre. Ensuite, le mot de passe entré par l'utilisateur est affiché dans l'état sous le champ de mot de passe. En outre, vous pouvez voir le caractère d'écho actuel (par défaut) du champ de mot de passe en bas:

3. L'utilisateur souhaite maintenant modifier le caractère d'écho du champ de mot de passe. Pour ce faire, l'utilisateur entre «*» dans la deuxième zone de texte et appuie sur le bouton «SetEchoChar» et le caractère d'écho est automatiquement modifié dans le champ du mot de passe.

4. De même, l'utilisateur définit le caractère d'écho sur "#":

Conclusion - Jpasswordfield

JPasswordField est un composant important de Swing qui permet à l'utilisateur de saisir le mot de passe sans le divulguer visuellement aux autres. Ce fichier peut être utilisé pour développer une page de connexion et d'inscription à n'importe quelle application. Cela augmente la sécurité de l'application et leur donne une meilleure apparence. De plus, le développeur peut définir son écho préféré!

Articles recommandés

Ceci est un guide de Jpasswordfield. Nous discutons ici du champ Jpassword qui peut être utilisé pour développer une page de connexion et d'inscription à n'importe quelle application. Vous pouvez également consulter l'article suivant pour en savoir plus -

  1. Composants Swing en Java
  2. JComponent en Java
  3. JFrame en Java
  4. CardLayout en Java