Bevezetés a JPasswordField-be

A JPasswordField egy Swing összetevő és egy beviteli mező, amely megkönnyíti a felhasználót a jelszó megadásában. Látnia kellett egy ilyen mezőt, amikor bejelentkezett minden olyan webhelyre, mint például a Facebook vagy a Gmail, ahol a „*” vagy bármilyen más karakter látható, amikor a jelszót beírja a megadott szövegmezőbe. A JPasswordField ugyanaz.

A Jpasswordfield nyilatkozata

public class JPasswordField extends JTextField

Mint láthatja, ez az osztály a JTextField alosztálya, örökli a szövegmező összes tulajdonságát, plusz a saját funkcióit, például a beírt karakterek maszkolását.

Kivitelező részletei

  • JPasswordField (): Ez a legegyszerűbb konstruktor, amely jelszómezőt hoz létre alapértelmezett dokumentummal, nulla oszlopszélességgel és nincs (null) kezdőszöveg.
  • JPasswordField (Document doc, String txt, int oszlopok): Ez a konstruktor létrehoz egy jelszómezőt egy megadott dokumentummal, megadott oszlopszélességgel és megadott alapértelmezett jelszóval.
  • JPasswordField (int oszlopok): Ez a konstruktor létrehoz egy jelszómezőt a megadott oszlopszélességgel.
  • JPasswordField (String text): Ez a konstruktor létrehoz egy jelszómezőt a megadott alapértelmezett jelszóval.
  • JPasswordField (Karakterlánc szöveg, int oszlopok): Ez a konstruktor létrehoz egy jelszómezőt megadott oszlopszélességgel és megadott alapértelmezett jelszóval.

A módszer részletei

  • char () getPassword (): Ez a JPasswordField osztály fontos és leghasznosabb módszere, amely karakteres tömbként adja vissza a jelszót, amelyet ebbe a JPasswordFieldbe ad meg.
  • Karakterlánc getText (): Ez a módszer a JPasswordFieldbe megadott karakterláncként adja meg a jelszót. De a Java 2 platformon v1.2 ez a módszer elavult, helyébe a getPassword () módszer lép.
  • Karakterlánc getText (int off, int len): Ez a módszer a jelszó egy részét adja vissza karakterláncként, amelyet ebben a JPasswordField-ben megadott. De a Java 2 platformon v1.2 ez a módszer elavult, helyére a getPassword () módszer lép.
  • void copy (): Ez a módszer a szolgáltatást nyújtja azErrorFeedback visszahívására az aktuális megjelenéshez, amely hibajelzést kezdeményez.
  • void cut (): Ez a módszer azErerorFeedback-et meghívja az aktuális megjelenésre és érzésre, amely hibajelzést kezdeményez.
  • logikai echoCharIsSet (): Ez a módszer igaznak bizonyul, ha egy karaktert beállítunk ehhez a JPasswordFieldhez. Egyébként hamis.
  • char getEchoChar (): Ez a módszer visszatéréshez visszaadja azt a karaktert, amelyet ehhez a JPasswordField-hez állított be.
  • void setEchoChar (char c): Ez a módszer beállítja az echo karaktert erre a jelszó mezőre.
  • Karakterlánc getUIClassID (): Ez a módszer adja meg a megjelenési és megjelenési osztály nevét, amely ezt az összetevőt megjeleníti.
  • védett karakterlánc paramString (): Ez a módszer visszaadja a jelszó mező karakterlánc-ábrázolását.
  • void updateUI (): Ez a módszer újratelepíti a jelszómező csatlakoztatható felhasználói felületét.
  • AccessibleContext getAccessibleContext (): Ez a módszer visszaadja a JPasswordFieldhez társított AccessibleContext fájlt.

Példa a Jpasswordfield-re

Az alábbiakban bemutatjuk a Jpasswordfield példáját:

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

Magyarázat

Ez egy egyszerű alkalmazás, amelyben a JPasswordField és annak funkciói láthatók.

  • Tetején van egy JFrame, amely a mi alkalmazásunk.
  • Ebben a JFrame négy panelt adunk hozzá.
  • Az első panelen egy JPasswordField kerül hozzáadásra, így a felhasználó itt tudja megadni a jelszót.
  • És egy gombot adunk hozzá a jelszó elküldéséhez.
  • A második panelen egy JLabel kerül hozzáadásra, amely megmutatja a felhasználó által megadott jelszót. Amikor a felhasználó az első panelen az elküldés gombra kattint, ez az állapot megváltozik, és megjelenik a legújabb jelszó.
  • A második panelen az állapot egy akciófigyelő segítségével frissül, amelyet hozzáadnak a beküldés gombhoz.
  • Amikor a felhasználó beírja a jelszót, akkor nem jelenik meg a JPasswordFieldben, echo karakterláncok jelennek meg, és a jelszó el van rejtve.
  • Van egy alapértelmezett echo char. Beállíthatjuk a jelszómező visszhangját is. Most meg fogjuk csinálni.
  • A harmadik panelen egy szövegmező és egy gomb kerül beillesztésre. Ez a szövegdoboz az echo41char felhasználót veszi a felhasználótól.
  • A felhasználónak be kell írnia egy karaktert, és nyomja meg a gombot, és az echo char beállítódik a jelszó mezőbe.
  • A negyedik panelen a felhasználó láthatja a jelszómező aktuális visszhangját vagy újonnan beállított visszhangját. Ez egy JLabel és egy akciófigyelő segítségével érhető el a harmadik panelen található gombra.

Kimenet:

1. Ez az alkalmazás, amelyben a felhasználó beírhatja a jelszót, megnézheti a megadott jelszót, megváltoztathatja a jelszómező visszhangját, és megnézheti az aktuális visszhangot:

2. Most a felhasználó beírja a jelszót (“12345”) és rákattint a beküldés gombra. Ezután a felhasználó által megadott jelszó megjelenik a jelszó mező alatti állapotban. A jelszómező jelenlegi (alapértelmezett) visszhangját a képernyő alján láthatja:

3. Most a felhasználó meg akarja változtatni a jelszómező visszhangját. Ennek elérése érdekében a felhasználó beírja a „*” jelet a második szövegmezőbe, és megnyomja a „SetEchoChar” gombot, és a visszhang visszatér a jelszó mezőbe automatikusan.

4. Hasonlóképpen, a felhasználó az echo char értékét „#” -re állítja:

Következtetés - Jpasswordfield

A JPasswordField a Swing fontos eleme, amely lehetővé teszi a felhasználó számára a jelszó megadását anélkül, hogy másoknak vizuálisan adná el. Ez a fájl felhasználható bármely alkalmazás bejelentkezési és regisztrációs oldalának fejlesztésére. Ez növeli az alkalmazás biztonságát, és jobb megjelenést és érzetet eredményez. A fejlesztő beállíthatja kedvenc visszhangját is!

Ajánlott cikkek

Ez egy útmutató a Jpasswordfield-hez. Itt a Jpasswordfield segítségével beszélgethetünk bármely alkalmazás bejelentkezési és regisztrációs oldaláról. A következő cikkben további információkat is megnézhet -

  1. Swing alkatrészek Java-ban
  2. JComponent Java-ban
  3. JFrame Java
  4. CardLayout Java-ban

Kategória: