Úvod do JPasswordField

JPasswordField je komponenta Swing a vstupní pole, které uživateli usnadňuje zadání hesla. Při přihlašování na jakýkoli web, jako je Facebook nebo Gmail, jste museli vidět takové pole, které při zadávání hesla do zadaného textového pole zobrazuje „*“ nebo jakýkoli jiný znak. JPasswordField je to samé.

Prohlášení o Jpasswordfield

public class JPasswordField extends JTextField

Jak vidíte, tato třída je podtřídou JTextField, zdědí všechny vlastnosti textového pole plus vlastní funkce, jako je maskování zadaných znaků.

Podrobnosti konstruktéra

  • JPasswordField (): Toto je nejjednodušší konstruktor, který vytvoří pole hesla s výchozím dokumentem, šířkou nulového sloupce a bez (nulového) počátečního textového řetězce.
  • JPasswordField (Document document, String txt, int column): Tento konstruktor vytvoří pole hesla se zadaným dokumentem, zadanou šířkou sloupce a zadaným výchozím heslem.
  • JPasswordField (int sloupce): Tento konstruktor vytvoří pole hesla se zadanou šířkou sloupce.
  • JPasswordField (text řetězce): Tento konstruktor vytvoří pole hesla se zadaným výchozím heslem.
  • JPasswordField (text řetězce, int sloupce): Tento konstruktor vytvoří pole hesla se zadanou šířkou sloupce a zadaným výchozím heslem.

Podrobnosti o metodě

  • char () getPassword (): Toto je důležitá a nejužitečnější metoda třídy JPasswordField, která vrací heslo jako pole znaků zadané v tomto JPasswordField.
  • String getText (): Tato metoda vrací heslo jako řetězec zadané v tomto JPasswordField. Tato metoda je však v platformě Java 2 verze v1.2 zastaralá, nahrazena metodou getPassword ().
  • String getText (int offs, int len): Tato metoda vrací část hesla jako řetězec zadanou v tomto JPasswordField. Tato metoda je však v platformě Java 2 verze v1.2 zastaralá, nahrazena metodou getPassword ().
  • void copy (): Tato metoda vyvolá funkciErrorFeedback o aktuálním vzhledu a pocitu, který inicializuje chybové pípnutí.
  • void cut (): Tato metoda vyvolá funkciErrorFeedback o aktuálním vzhledu a pocitu, který iniciuje pípnutí chyby.
  • boolean echoCharIsSet (): Tato metoda vrací true, pokud je znak nastaven pro echoing na tento JPasswordField. Jinak nepravdivé.
  • char getEchoChar (): Tato metoda vrací znak, který je nastaven na tento JPasswordField pro echoing.
  • void setEchoChar (char c): Tato metoda nastaví znak echo do tohoto pole hesla.
  • String getUIClassID (): Tato metoda vrací název třídy vzhled a dojem, která tuto komponentu vykresluje.
  • protected String paramString (): Tato metoda vrací řetězcovou reprezentaci tohoto pole hesla.
  • void updateUI (): Tato metoda načte připojitelné UI tohoto pole hesla.
  • AccessibleContext getAccessibleContext (): Tato metoda vrací AccessibleContext spojený s tímto JPasswordField.

Příklad Jpasswordfield

Níže je uveden příklad pro Jpasswordfield:

Kód:

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

Vysvětlení

Toto je jednoduchá aplikace, ve které je zobrazen JPasswordField a jeho funkce.

  • Nahoře je JFrame, což je naše aplikace.
  • V tomto JFrame jsou přidány čtyři panely.
  • Na prvním panelu je přidán JPasswordField, takže zde může uživatel zadat heslo.
  • A je přidáno tlačítko pro odeslání hesla.
  • Na druhém panelu je přidán JLabel, který zobrazuje heslo, které uživatel zadal. Když uživatel klepne na tlačítko Odeslat z prvního panelu, tento stav se změní a zobrazí se nejnovější heslo.
  • Stav v druhém panelu je aktualizován pomocí posluchače akcí, který je přidán do tlačítka Odeslat.
  • Když uživatel zadá heslo, nezobrazí se v JPasswordField, místo toho se zobrazí znaky echo a heslo se skryje.
  • K dispozici je výchozí znak echa. Můžeme také nastavit echo char pro pole hesla. Teď to uděláme.
  • Na třetím panelu se přidá textové pole a tlačítko. Toto textové pole má vzít echo41char od uživatele.
  • Uživatelé budou muset zadat znak a stisknout tlačítko a echo char se nastaví do pole hesla.
  • Ve čtvrtém panelu může uživatel vidět aktuální znak echa nebo nově nastavený znak echa v poli hesla. Toho je dosaženo použitím JLabelu a posluchače akcí přidaného do tlačítka na třetím panelu.

Výstup:

1. Toto je aplikace, ve které může uživatel zadat heslo, vidět zadané heslo, změnit znak echa v poli hesla a vidět aktuální znak echa:

2. Nyní uživatel zadá heslo („12345“) a klikne na tlačítko Odeslat. Poté se heslo zadané uživatelem zobrazí ve stavu pod polem pro heslo. Ve spodní části je také vidět aktuální (výchozí) echo char v poli hesla:

3. Nyní chce uživatel změnit echo znak pole hesla. Aby toho bylo dosaženo, zadá uživatel do druhého textového pole „*“ a stiskne tlačítko „SetEchoChar“ a echo char se automaticky změní v poli hesla.

4. Podobně uživatel nastaví znak echa na „#“:

Závěr - Jpasswordfield

JPasswordField je důležitou součástí Swing, která uživateli umožňuje zadat heslo, aniž by jej vizuálně předala ostatním. Tento soubor lze použít k vývoji přihlašovací a registrační stránky jakékoli aplikace. To zvyšuje bezpečnost aplikace a nutí je vypadat a cítit se lépe. Vývojář může také nastavit svůj oblíbený echo char!

Doporučené články

Toto je průvodce po Jpasswordfield. Zde diskutujeme o Jpasswordfield lze použít k vývoji přihlašovací a registrační stránku jakékoli aplikace. Další informace naleznete také v následujícím článku -

  1. Swing komponenty v Javě
  2. JComponent v Javě
  3. JFrame v Javě
  4. CardLayout v Javě

Kategorie: