Wprowadzenie do JPasswordField

JPasswordField jest komponentem Swing i polem wprowadzania, które ułatwia użytkownikowi wprowadzenie hasła. Musiałeś zobaczyć takie pole podczas logowania do dowolnej witryny internetowej, takiej jak Facebook czy Gmail, która pokazuje „*” lub dowolny inny znak, gdy wpiszesz hasło w odpowiednim polu tekstowym. JPasswordField to to samo.

Deklaracja Jpasswordfield

public class JPasswordField extends JTextField

Jak widać, ta klasa jest podklasą JTextField, dziedziczy wszystkie właściwości pola tekstowego oraz własne funkcje, takie jak maskowanie wprowadzonych znaków.

Szczegóły konstruktora

  • JPasswordField (): Jest to najprostszy konstruktor, który tworzy pole hasła z domyślnym dokumentem, zerową szerokością kolumny i bez (zerowego) łańcucha tekstowego.
  • JPasswordField (Dokument dokumentu, String txt, int kolumny): Ten konstruktor tworzy pole hasła z określonym dokumentem, określoną szerokością kolumny i określonym domyślnym hasłem.
  • JPasswordField (int kolumny): Ten konstruktor tworzy pole hasła o określonej szerokości kolumny.
  • JPasswordField (tekst ciągu): ten konstruktor tworzy pole hasła z określonym domyślnym hasłem.
  • JPasswordField (tekst ciągu, kolumny int): Ten konstruktor tworzy pole hasła o określonej szerokości kolumny i określonym domyślnym haśle.

Szczegóły metody

  • char () getPassword (): Jest to ważna i najbardziej użyteczna metoda klasy JPasswordField, która zwraca hasło jako tablicę znaków wprowadzoną w tym polu JPasswordField.
  • Ciąg getText (): Ta metoda zwraca hasło w postaci ciągu wprowadzonego w tym polu JPasswordField. Ale ta metoda jest przestarzała na platformie Java 2 v1.2, zastąpiona metodą getPassword ().
  • Ciąg getText (int offs, int len): Ta metoda zwraca część hasła w postaci łańcucha wprowadzonego w tym polu JPasswordField. Ale ta metoda jest przestarzała na platformie Java 2 v1.2, zastąpiona metodą getPassword ().
  • void copy (): Ta metoda wywołuje komendę replaceErrorFeedback w bieżącym wyglądzie, który inicjuje sygnał błędu.
  • void cut (): Ta metoda wywołuje komendę replaceErrorFeedback w bieżącym wyglądzie, który inicjuje sygnał błędu.
  • boolean echoCharIsSet (): Ta metoda zwraca wartość true, jeśli dla echo tego pola JPasswordField ustawiono znak. W przeciwnym razie fałszywe.
  • char getEchoChar (): Ta metoda zwraca znak, który jest ustawiony na to JPasswordField do echa.
  • void setEchoChar (char c): Ta metoda ustawia znak echa w tym polu hasła.
  • String getUIClassID (): Ta metoda zwraca nazwę klasy look i feel, która renderuje ten komponent.
  • protected String paramString (): Ta metoda zwraca ciąg znaków reprezentujący to pole hasła.
  • void updateUI (): Ta metoda ponownie ładuje interfejs użytkownika z możliwością podłączenia tego pola hasła.
  • AccessibleContext getAccessibleContext (): Ta metoda zwraca AccessibleContext skojarzony z tym JPasswordField.

Przykład pola Jpassword

Poniżej znajduje się przykład dla Jpasswordfield:

Kod:

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

Wyjaśnienie

Jest to prosta aplikacja, w której pokazano JPasswordField i jego funkcje.

  • Na górze znajduje się JFrame, która jest naszą aplikacją.
  • W tym JFrame dodano cztery panele.
  • W pierwszym panelu dodano JPasswordField, aby użytkownik mógł tutaj wpisać hasło.
  • Dodano przycisk do przesłania hasła.
  • W drugim panelu dodano JLabel, aby pokazać hasło, które wprowadził użytkownik. Gdy użytkownik kliknie przycisk przesyłania z pierwszego panelu, status ten zostanie zmieniony i wyświetlone zostanie najnowsze hasło.
  • Status w drugim panelu jest aktualizowany za pomocą detektora akcji, który jest dodawany do przycisku przesyłania.
  • Gdy użytkownik wpisze hasło, nie jest ono wyświetlane w polu JPasswordField, zamiast tego wyświetlane są znaki echa, a hasło jest ukryte.
  • Domyślny znak echa. Możemy również ustawić znak echa dla pola hasła. Teraz to zrobimy.
  • W trzecim panelu dodano pole tekstowe i przycisk. To pole tekstowe ma pobrać echo41char od użytkownika.
  • Użytkownicy będą musieli wprowadzić znak i nacisnąć przycisk, a znak echa zostanie ustawiony na pole hasła.
  • W czwartym panelu użytkownik może zobaczyć bieżący znak echa lub nowo ustawiony znak echa w polu hasła. Osiąga się to za pomocą JLabel i detektora akcji dodanych do przycisku w trzecim panelu.

Wynik:

1. Jest to aplikacja, w której użytkownik może wprowadzić hasło, zobaczyć wprowadzone hasło, zmienić znak echa w polu hasła i zobaczyć bieżący znak echa:

2. Teraz użytkownik wprowadza hasło („12345”) i klika przycisk Prześlij. Następnie hasło wprowadzone przez użytkownika jest wyświetlane w stanie pod polem hasła. Ponadto na dole możesz zobaczyć bieżący (domyślny) znak echa pola hasła:

3. Teraz użytkownik chce zmienić znak echa w polu hasła. Aby to osiągnąć, użytkownik wprowadza „*” w drugim polu tekstowym i naciska przycisk „SetEchoChar”, a znak echa jest automatycznie zmieniany w polu hasła.

4. Podobnie użytkownik ustawia znak echa na „#”:

Wniosek - Jpasswordfield

JPasswordField jest ważnym komponentem w Swing, który umożliwia użytkownikowi wprowadzenie hasła bez wizualnego udostępniania go innym osobom. Tego pliku można użyć do opracowania strony logowania i rejestracji dowolnej aplikacji. Zwiększa to bezpieczeństwo aplikacji i sprawia, że ​​wyglądają i czują się lepiej. Ponadto programista może ustawić swój ulubiony znak echa!

Polecane artykuły

To jest przewodnik po Jpasswordfield. Tutaj omawiamy pole Jpasswordfield, którego można użyć do opracowania strony logowania i rejestracji dowolnej aplikacji. Możesz także spojrzeć na następujący artykuł, aby dowiedzieć się więcej -

  1. Swing Components w Javie
  2. JComponent w Javie
  3. JFrame w Javie
  4. CardLayout w Javie