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 -
- Swing alkatrészek Java-ban
- JComponent Java-ban
- JFrame Java
- CardLayout Java-ban