Introducere în JPasswordField

JPasswordField este o componentă Swing și un câmp de intrare care facilitează utilizatorului să introducă parola. Trebuie să fi văzut un astfel de câmp în timp ce te conectați la orice site web, cum ar fi Facebook sau Gmail, care arată „*” sau orice alt caracter atunci când introduci parola în caseta de text furnizată. JPasswordField este același lucru.

Declarația Jpasswordfield

public class JPasswordField extends JTextField

După cum puteți vedea, această clasă este o subclasă a JTextField, moștenește toate proprietățile unui câmp de text plus funcționalitățile proprii, precum mascarea caracterelor introduse.

Detalii despre constructor

  • JPasswordField (): Acesta este cel mai simplu constructor care creează un câmp de parolă cu un document implicit, lățimea zero a coloanei și fără șir de text inițial (nul).
  • JPasswordField (Document document, String txt, coloane int): Acest constructor creează un câmp de parolă cu un document specificat, lățimea de coloană specificată și parola implicită specificată.
  • JPasswordField (coloane int): Acest constructor creează un câmp de parolă cu lățimea de coloană specificată.
  • JPasswordField (text string): Acest constructor creează un câmp de parolă cu parola implicită specificată.
  • JPasswordField (text string, coloane int): acest constructor creează un câmp de parolă cu lățimea de coloană specificată și parola implicită specificată.

Detalii despre metodă

  • char () getPassword (): Aceasta este o metodă importantă și cea mai utilă a clasei JPasswordField care returnează parola, ca matrice de caractere, introdusă în acest JPasswordField.
  • String getText (): această metodă returnează parola, ca șir, introdusă în acest JPasswordField. Dar această metodă este învechită în platforma Java 2 v1.2, înlocuită de metoda getPassword ().
  • String getText (int off, int len): Această metodă returnează o porțiune a parolei, ca șir, introdusă în acest JPasswordField. Dar această metodă este învechită în platforma Java 2 v1.2, înlocuită de metoda getPassword ().
  • void copy (): Această metodă invocă providerErrorFeedback cu privire la aspectul și senzația curentă care inițiază un semnal de eroare.
  • void cut (): Această metodă invocă providerErrorFeedback cu privire la aspectul și senzația curentă care inițiază un semnal sonor de eroare.
  • boolean echoCharIsSet (): Această metodă returnează adevărat dacă este setat un caracter pentru ecou la acest JPasswordField. Altfel fals.
  • char getEchoChar (): Această metodă returnează caracterul care este setat la acest JPasswordField pentru ecou.
  • void setEchoChar (char c): Această metodă stabilește caracterul ecou la acest câmp de parolă.
  • String getUIClassID (): această metodă returnează numele clasei de aspect și senzație care redă această componentă.
  • protected String paramString (): această metodă returnează o reprezentare șir a acestui câmp parola.
  • void updateUI (): Această metodă reîncarcă UI conectabil al acestui câmp de parolă.
  • AccessibleContext getAccessibleContext (): Această metodă returnează AccessibleContext asociată acestei JPasswordField.

Exemplu de Jpasswordfield

Mai jos este exemplul pentru Jpasswordfield:

Cod:

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);
)
)

Explicaţie

Aceasta este o aplicație simplă în care sunt prezentate JPasswordField și funcționalitățile sale.

  • În partea de sus, există un JFrame care este aplicația noastră.
  • În acest JFrame sunt adăugate patru panouri.
  • În primul panou, se adaugă un JPasswordField, astfel încât utilizatorul să poată introduce parola aici.
  • Și se adaugă un buton pentru a trimite parola.
  • În cel de-al doilea panou, se adaugă o JLabel pentru a afișa parola introdusă de utilizator. Când utilizatorul face clic pe butonul de trimitere din primul panou, această stare va fi modificată și va fi afișată cea mai recentă parolă.
  • Starea din cel de-al doilea panou este actualizată folosind un ascultător de acțiuni care este adăugat la butonul de trimitere.
  • Când utilizatorul introduce parola, nu este afișată în JPasswordField, ci se afișează caractere ecografice, iar parola este ascunsă.
  • Există un ecou implicit. De asemenea, putem seta ecoul char pentru câmpul de parole. Acum vom face asta.
  • În cel de-al treilea panou, se adaugă o casetă text și un buton. Această casetă de text trebuie să preia echo41char de la utilizator.
  • Utilizatorii vor trebui să introducă un caracter și să apese butonul, iar ecoul char va fi setat pe câmpul de parolă.
  • În cel de-al patrulea panou, utilizatorul poate vedea încărcarea ecografică actuală sau ecoul nou setat al câmpului de parolă. Acest lucru este realizat folosind un JLabel și un ascultător de acțiune adăugat la butonul din cel de-al treilea panou.

ieşire:

1. Aceasta este aplicația în care utilizatorul poate introduce parola, vedeți parola introdusă, schimba ecoul de încărcare al câmpului de parolă și vedeți actualul ecou char:

2. Acum utilizatorul introduce parola („12345”) și face clic pe butonul de trimitere. Apoi, parola introdusă de utilizator este afișată în starea sub câmpul parolă. De asemenea, puteți vedea ecoul actual (implicit) al câmpului de parole din partea de jos:

3. Acum utilizatorul vrea să schimbe caracterul ecou al câmpului parolă. Pentru a obține acest lucru, utilizatorul introduce „*” în cea de-a doua casetă de text și apasă butonul „SetEchoChar” și se modifică automat ecoul în câmpul de parolă automat.

4. În mod similar, utilizatorul stabilește ecoul de caractere pe „#”:

Concluzie - Jpasswordfield

JPasswordField este o componentă importantă în Swing, care permite utilizatorului să introducă parola fără a o dispune vizual celorlalți. Acest fișier poate fi utilizat pentru a dezvolta o pagină de conectare și înregistrare a oricărei aplicații. Acest lucru crește securitatea aplicației și le face să pară și să se simtă mai bine. De asemenea, dezvoltatorul își poate seta ecoul său preferat!

Articole recomandate

Acesta este un ghid pentru Jpasswordfield. Aici discutăm că Jpasswordfield poate fi folosit pentru a dezvolta o logare și pentru a vă înscrie pagina oricărei aplicații. De asemenea, puteți consulta articolul următor pentru a afla mai multe -

  1. Componentele pivotante în Java
  2. JComponent în Java
  3. JFrame în Java
  4. CardLayout în Java