Introduzione a JPasswordField

JPasswordField è un componente Swing e un campo di input che consente all'utente di inserire la propria password. Devi aver visto un tale campo durante l'accesso a qualsiasi sito Web come Facebook o Gmail che mostra "*" o qualsiasi altro carattere quando digiti la password nella casella di testo fornita. JPasswordField è la stessa cosa.

Dichiarazione di Jpasswordfield

public class JPasswordField extends JTextField

Come puoi vedere, questa classe è una sottoclasse di JTextField, eredita tutte le proprietà di un campo di testo più le proprie funzionalità come mascherare i caratteri immessi.

Dettagli del costruttore

  • JPasswordField (): questo è il costruttore più semplice che crea un campo password con documento predefinito, larghezza colonna zero e nessuna stringa di testo iniziale (nulla) iniziale.
  • JPasswordField (Document doc, String txt, colonne int): questo costruttore crea un campo password con un documento specificato, larghezza colonna specificata e password predefinita specificata.
  • JPasswordField (colonne int): questo costruttore crea un campo password con larghezza colonna specificata.
  • JPasswordField (testo stringa): questo costruttore crea un campo password con la password predefinita specificata.
  • JPasswordField (testo stringa, colonne int): questo costruttore crea un campo password con larghezza colonna specificata e password predefinita specificata.

Dettagli del metodo

  • char () getPassword (): questo è un metodo importante e molto utile della classe JPasswordField che restituisce la password, come matrice di caratteri, inserita in questo JPasswordField.
  • String getText (): questo metodo restituisce la password, come stringa, immessa in questo JPasswordField. Ma questo metodo è obsoleto nella piattaforma Java 2 v1.2, sostituito dal metodo getPassword ().
  • String getText (int offs, int len): questo metodo restituisce una parte della password, come stringa, immessa in questo JPasswordField. Ma questo metodo è obsoleto nella piattaforma Java 2 v1.2, sostituito dal metodo getPassword ().
  • void copy (): questo metodo richiama fornireErrorFeedback sull'aspetto attuale che avvia un segnale acustico di errore.
  • void cut (): questo metodo richiama fornireErrorFeedback sull'aspetto attuale che avvia un segnale acustico di errore.
  • boolean echoCharIsSet (): questo metodo restituisce true se un carattere è impostato per l'eco in questo JPasswordField. Altrimenti falso.
  • char getEchoChar (): questo metodo restituisce il carattere impostato su JPasswordField per l'eco.
  • void setEchoChar (char c): questo metodo imposta il carattere di eco su questo campo password.
  • String getUIClassID (): questo metodo restituisce il nome della classe look and feel che rende questo componente.
  • protetto String paramString (): questo metodo restituisce una rappresentazione in formato stringa di questo campo password.
  • void updateUI (): questo metodo ricarica l'interfaccia utente inseribile di questo campo password.
  • AccessibleContext getAccessibleContext (): questo metodo restituisce AccessibleContext associato a questo JPasswordField.

Esempio di Jpasswordfield

Di seguito è riportato l'esempio per Jpasswordfield:

Codice:

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

Spiegazione

Questa è una semplice applicazione in cui vengono mostrati JPasswordField e le sue funzionalità.

  • Nella parte superiore, c'è un JFrame che è la nostra applicazione.
  • In questo JFrame vengono aggiunti quattro pannelli.
  • Nel primo pannello, viene aggiunto un JPasswordField in modo che l'utente possa inserire la password qui.
  • E viene aggiunto un pulsante per inviare la password.
  • Nel secondo pannello, viene aggiunto un JLabel per mostrare la password che l'utente ha inserito. Quando l'utente fa clic sul pulsante di invio dal primo pannello, questo stato verrà modificato e verrà visualizzata la password più recente.
  • Lo stato nel secondo pannello viene aggiornato utilizzando un listener di azioni che viene aggiunto al pulsante di invio.
  • Quando l'utente digita la password, questa non viene mostrata in JPasswordField, invece, vengono mostrati i caratteri echo e la password è nascosta.
  • C'è un carattere di eco predefinito. Inoltre, possiamo impostare il carattere echo per il campo password. Ora lo faremo.
  • Nel terzo pannello vengono aggiunti una casella di testo e un pulsante. Questa casella di testo deve prendere echo41char dall'utente.
  • Gli utenti dovranno inserire un carattere e premere il pulsante e il carattere eco verrà impostato nel campo password.
  • Nel quarto pannello, l'utente può vedere il carattere di eco corrente o il carattere di eco appena impostato nel campo della password. Ciò si ottiene utilizzando un JLabel e un listener di azioni aggiunto al pulsante nel terzo pannello.

Produzione:

1. Questa è l'applicazione in cui l'utente può inserire la password, vedere la password inserita, modificare il carattere di eco del campo password e vedere il carattere di eco corrente:

2. Ora l'utente immette la password ("12345") e fa clic sul pulsante di invio. Quindi, la password inserita dall'utente viene mostrata nello stato sotto il campo password. Inoltre, puoi vedere il carattere echo corrente (predefinito) del campo password in basso:

3. Ora l'utente vuole cambiare il carattere di eco del campo password. Per ottenere ciò, l'utente inserisce "*" nella seconda casella di testo e preme il pulsante "SetEchoChar" e il carattere eco viene modificato automaticamente nel campo della password.

4. Allo stesso modo, l'utente imposta il carattere echo su “#”:

Conclusione - Jpasswordfield

JPasswordField è un componente importante di Swing che consente all'utente di immettere la password senza distribuirla visivamente agli altri. Questo file può essere utilizzato per sviluppare una pagina di accesso e iscrizione di qualsiasi applicazione. Ciò aumenta la sicurezza dell'applicazione e li fa apparire e sentirsi meglio. Inoltre, lo sviluppatore può impostare il suo carattere di eco preferito!

Articoli consigliati

Questa è una guida a Jpasswordfield. Qui discutiamo che Jpasswordfield può essere utilizzato per sviluppare un accesso e la pagina di iscrizione di qualsiasi applicazione. Puoi anche leggere il seguente articolo per saperne di più -

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

Categoria: