Kennwort-Dialogfeld Programm

Hier ist ein Java-Beispielcode, der zeigt, wie ein Kennwortdialogfeld erstellt wird. Dieses Programm verwendet eine Kombination aus JOptionPane Klasse und die JPasswordField Klasse.

Wenn dieses Programm ausgeführt wird a JOptionPane ist gezeigt mit a JPasswordField, ein JTextField, eine Schaltfläche OK und Abbrechen. Das JFrame Hinter JOptionPane Verwendet einen Textbereich, um Feedback zu den Eingaben des Benutzers und den gedrückten Tasten zu geben.

Der Artikel in Bezug auf diesen Code lautet: Erstellen eines Kennwortdialogfelds. Schauen Sie sich auch die Übersicht über JPasswordField an, wenn Sie genauere Informationen über das wünschen JPasswordField Klasse.

Hinweis:Damit dieses Java-Programm funktioniert, muss es in einer Datei namens PasswordDialog.java gespeichert werden

// Die Importe werden vollständig aufgelistet, um zu zeigen, // was gerade verwendet wird, kann nur javax.swing. * Und java.awt. * Usw. import javax.swing.JFrame; import javax.swing.JOptionPane; import javax.swing.JTextField; import javax.swing.JTextArea; import javax.swing.JPasswordField; import javax.swing.JPanel; import javax.swing.JLabel; import java.awt.GridLayout; import java.util.Arrays; import java.awt.EventQueue; public class PasswordDialog // Hinweis: Die Hauptmethode befindet sich normalerweise in einer // separaten Klasse. Da dies ein einfaches Beispiel für eine Klasse ist, befindet sich alles in einer Klasse. public static void main (String [] args) // Verwendet den Event-Dispatch-Thread für Swing-Komponenten EventQueue.invokeLater (new Runnable () @Override public void run () createGuiFrame (););  // behandelt die Erstellung des JFrame und // aller seiner Komponenten privat statisch void createGuiFrame () JFrame guiFrame = new JFrame (); // stelle sicher, dass das Programm beendet wird, wenn der Frame geschlossen wird guiFrame.setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE); guiFrame.setTitle ("Dialogfeldbeispiel"); guiFrame.setSize (500.300); // Dadurch wird der JFrame in der Mitte des Bildschirms zentriert. GuiFrame.setLocationRelativeTo (null); guiFrame.setVisible (true); // Verwenden einer JTextArea zur Anzeige von Feedback // (dh der Benutzername und das Passwort wurden eingegeben. JTextArea tracker = new JTextArea ("Password Tracker:"); guiFrame.add (tracker); // Verwenden einer JPanel als Nachricht für das JOptionPane JPanel userPanel = neues JPanel (); userPanel.setLayout (neues GridLayout (2,2)); JLabel-BenutzernameLbl = neues JLabel ("Benutzername:"); JLabel-PasswortLbl = neues JLabel ("Passwort:"); JTextField-Benutzername = neues JTextField ( ); JPasswordField passwordFld = new JPasswordField (); userPanel.add (usernameLbl); userPanel.add (username); userPanel.add (passwordLbl); userPanel.add (passwordFld); // Da der JOptionPane ein Objekt als Nachricht akzeptiert / / es erlaubt uns, jede beliebige Komponente zu verwenden - in diesem Fall // ein JPanel, das die Dialogkomponenten enthält, die int input = JOptionPane.showConfirmDialog (guiFrame, userPanel, "Geben Sie Ihr Passwort ein:", JOptionPane.OK_CANCEL_OPTION, JOptionPane.PLAIN_MESSAGE) ; char [] correctPassword = 'a', 'P', 'a', 'S', 's', 'W', 'o', 'R', 'd'; if (input == 0 ) // OK Button = 0 trac ker.append ("\ nGegebener Benutzername war:" + Benutzername.getText ()); // Passwort abrufen char [] enteredPassword = passwordFld.getPassword (); tracker.append ("\ nGegebenes Passwort war:" + String.valueOf (eingegebenes Passwort)); if (Arrays.equals (correctPassword, enterPassword)) tracker.append ("\ nDas eingegebene Passwort ist korrekt!");  else tracker.append ("\ nAnrufsicherheit - es ist ein Betrüger!");  // Hinweis: Es wird empfohlen, das Array mit dem // Kennwort auf Null zu setzen. (Etwas albern hier, // während ich das Kennwort drucke, um zu zeigen, wie es abgerufen wird, // aber denken Sie daran, wenn Sie JPasswordFields verwenden.) Arrays.fill (enterPassword, '0');  else // entweder die Abbrechen-Schaltfläche oder das 'x' // wurde gedrückt tracker.append ("\ nDialog Cancelled ...");