Inleiding tot JPasswordField

JPasswordField is een Swing-component en een invoerveld waarmee de gebruiker zijn wachtwoord kan invoeren. U moet zo'n veld gezien hebben terwijl u inlogde op een website zoals Facebook of Gmail met “*” of een ander teken wanneer u uw wachtwoord in het daarvoor bestemde tekstvak typt. JPasswordField is hetzelfde.

Verklaring van Jpasswordfield

public class JPasswordField extends JTextField

Zoals u kunt zien, is deze klasse een subklasse van JTextField, het neemt alle eigenschappen van een tekstveld over plus zijn eigen functionaliteiten zoals het maskeren van de ingevoerde tekens.

Constructeur details

  • JPasswordField (): Dit is de eenvoudigste constructor die een wachtwoordveld maakt met standaarddocument, kolombreedte nul en geen (nul) begintekstreeks.
  • JPasswordField (Document doc, String txt, int kolommen): Deze constructor maakt een wachtwoordveld met een gespecificeerd document, een gespecificeerde kolombreedte en een gespecificeerd standaardwachtwoord.
  • JPasswordField (int columns): deze constructor maakt een wachtwoordveld met de opgegeven kolombreedte.
  • JPasswordField (String text): deze constructor maakt een wachtwoordveld met het opgegeven standaardwachtwoord.
  • JPasswordField (String-tekst, int-kolommen): deze constructor maakt een wachtwoordveld met de opgegeven kolombreedte en het opgegeven standaardwachtwoord.

Methode details

  • char () getPassword (): dit is een belangrijke en meest bruikbare methode van de klasse JPasswordField die het wachtwoord retourneert als een tekenreeks die in dit JPasswordField is ingevoerd.
  • String getText (): deze methode retourneert het wachtwoord, als een string, ingevoerd in dit JPasswordField. Maar deze methode is verouderd in Java 2-platform v1.2, vervangen door de methode getPassword ().
  • String getText (int offs, int len): deze methode retourneert een deel van het wachtwoord, als een string, ingevoerd in dit JPasswordField. Maar deze methode is verouderd in Java 2-platform v1.2, vervangen door de methode getPassword ().
  • void copy (): deze methode roept supplyErrorFeedback aan op de huidige look en feel die een pieptoon geeft.
  • void cut (): deze methode roept supplyErrorFeedback aan op de huidige look en feel die een pieptoon geeft.
  • boolean echoCharIsSet (): deze methode retourneert true als een teken is ingesteld voor echo op dit JPasswordField. Anders niet waar.
  • char getEchoChar (): deze methode retourneert het teken dat is ingesteld op dit JPasswordField voor echo.
  • void setEchoChar (char c): deze methode stelt het echo-teken in op dit wachtwoordveld.
  • String getUIClassID (): deze methode retourneert de naam van de look & feel-klasse die deze component weergeeft .
  • protected String paramString (): deze methode retourneert een stringvoorstelling van dit wachtwoordveld.
  • void updateUI (): Met deze methode wordt de insteekbare gebruikersinterface van dit wachtwoordveld opnieuw geladen .
  • AccessibleContext getAccessibleContext (): deze methode retourneert de AccessibleContext die aan dit JPasswordField is gekoppeld.

Voorbeeld van Jpasswordfield

Hieronder is het voorbeeld voor 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);
)
)

Uitleg

Dit is een eenvoudige applicatie waarin JPasswordField en zijn functionaliteiten worden getoond.

  • Bovenaan is er een JFrame dat onze applicatie is.
  • In dit JFrame zijn vier panelen toegevoegd.
  • In het eerste paneel wordt een JPasswordField toegevoegd zodat de gebruiker hier het wachtwoord kan invoeren.
  • En een knop is toegevoegd om het wachtwoord in te dienen.
  • In het tweede paneel wordt een JLabel toegevoegd om het wachtwoord te tonen dat de gebruiker heeft ingevoerd. Wanneer de gebruiker in het eerste paneel op de verzendknop klikt, wordt deze status gewijzigd en wordt het laatste wachtwoord weergegeven.
  • Status in het tweede paneel wordt bijgewerkt met behulp van een actie-luisteraar die wordt toegevoegd aan de verzendknop.
  • Wanneer de gebruiker het wachtwoord typt, wordt dit niet weergegeven in het JPasswordField. In plaats daarvan worden echotekens weergegeven en is het wachtwoord verborgen.
  • Er is een standaard echo-teken. We kunnen ook de echo instellen voor het wachtwoordveld. Dat gaan we nu doen.
  • In het derde paneel zijn een tekstvak en een knop toegevoegd. Dit tekstvak moet echo41char van de gebruiker afnemen.
  • Gebruikers moeten een karakter invoeren en op de knop drukken en echo char wordt ingesteld op het wachtwoordveld.
  • In het vierde paneel kan de gebruiker de huidige echo char of nieuw ingestelde echo char van het wachtwoordveld zien. Dit wordt bereikt met behulp van een JLabel en een actie-luisteraar toegevoegd aan de knop in het derde paneel.

Output:

1. Dit is de toepassing waarin de gebruiker het wachtwoord kan invoeren, het ingevoerde wachtwoord kan zien, de echo-tekens van het wachtwoordveld kan wijzigen en de huidige echo-tekens kunt zien:

2. De gebruiker voert nu het wachtwoord in ("12345") en klikt op de verzendknop. Vervolgens wordt het door de gebruiker ingevoerde wachtwoord weergegeven in de status onder het wachtwoordveld. Ook ziet u onderaan de huidige (standaard) echo van het wachtwoordveld:

3. Nu wil de gebruiker het echokarakter van het wachtwoordveld wijzigen. Om dit te bereiken, voert de gebruiker "*" in het tweede tekstvak in en drukt op de knop "SetEchoChar" en de echo wordt automatisch gewijzigd in het wachtwoordveld.

4. Op dezelfde manier stelt de gebruiker het echo-teken in op "#":

Conclusie - Jpasswordfield

JPasswordField is een belangrijk onderdeel in Swing waarmee de gebruiker het wachtwoord kan invoeren zonder het visueel aan anderen te verstrekken. Dit bestand kan worden gebruikt om een ​​aanmeldings- en aanmeldingspagina voor elke toepassing te ontwikkelen. Dit verhoogt de beveiliging van de applicatie en zorgt ervoor dat ze er beter uitzien en zich beter voelen. Ook kan de ontwikkelaar zijn favoriete echo-char instellen!

Aanbevolen artikelen

Dit is een gids voor Jpasswordfield. Hier bespreken we dat het Jpasswordfield kan worden gebruikt om een ​​inlog- en aanmeldpagina voor elke toepassing te ontwikkelen. U kunt ook het volgende artikel bekijken voor meer informatie -

  1. Swing componenten in Java
  2. JComponent in Java
  3. JFrame in Java
  4. CardLayout in Java