⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 passworddemo.java

📁 JAVA 工作指南 可以说是程序员必备的东西哦
💻 JAVA
字号:
package components;import javax.swing.*;import java.awt.*;import java.awt.event.*;import java.util.Arrays;/* PasswordDemo.java requires no other files. */public class PasswordDemo extends JPanel                          implements ActionListener {    private static String OK = "ok";    private static String HELP = "help";    private JFrame controllingFrame; //needed for dialogs    private JPasswordField passwordField;    public PasswordDemo(JFrame f) {        //Use the default FlowLayout.        controllingFrame = f;        //Create everything.        passwordField = new JPasswordField(10);        passwordField.setActionCommand(OK);        passwordField.addActionListener(this);        JLabel label = new JLabel("Enter the password: ");        label.setLabelFor(passwordField);        JComponent buttonPane = createButtonPanel();        //Lay out everything.        JPanel textPane = new JPanel(new FlowLayout(FlowLayout.TRAILING));        textPane.add(label);        textPane.add(passwordField);        add(textPane);        add(buttonPane);    }    protected JComponent createButtonPanel() {        JPanel p = new JPanel(new GridLayout(0,1));        JButton okButton = new JButton("OK");        JButton helpButton = new JButton("Help");        okButton.setActionCommand(OK);        helpButton.setActionCommand(HELP);        okButton.addActionListener(this);        helpButton.addActionListener(this);        p.add(okButton);        p.add(helpButton);        return p;    }    public void actionPerformed(ActionEvent e) {        String cmd = e.getActionCommand();        if (OK.equals(cmd)) { //Process the password.            char[] input = passwordField.getPassword();            if (isPasswordCorrect(input)) {                JOptionPane.showMessageDialog(controllingFrame,                    "Success! You typed the right password.");            } else {                JOptionPane.showMessageDialog(controllingFrame,                    "Invalid password. Try again.",                    "Error Message",                    JOptionPane.ERROR_MESSAGE);            }            //Zero out the possible password, for security.            Arrays.fill(input, '0');            passwordField.selectAll();            resetFocus();        } else { //The user has asked for help.            JOptionPane.showMessageDialog(controllingFrame,                "You can get the password by searching this example's\n"              + "source code for the string \"correctPassword\".\n"              + "Or look at the section How to Use Password Fields in\n"              + "the components section of The Java Tutorial.");        }    }    /**     * Checks the passed-in array against the correct password.     * After this method returns, you should invoke eraseArray     * on the passed-in array.     */    private static boolean isPasswordCorrect(char[] input) {        boolean isCorrect = true;        char[] correctPassword = { 'b', 'u', 'g', 'a', 'b', 'o', 'o' };        if (input.length != correctPassword.length) {            isCorrect = false;        } else {            isCorrect = Arrays.equals (input, correctPassword);        }        //Zero out the password.        Arrays.fill(correctPassword,'0');        return isCorrect;    }    //Must be called from the event dispatch thread.    protected void resetFocus() {        passwordField.requestFocusInWindow();    }    /**     * Create the GUI and show it.  For thread safety,     * this method should be invoked from the     * event dispatch thread.     */    private static void createAndShowGUI() {        //Create and set up the window.        JFrame frame = new JFrame("PasswordDemo");        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);        //Create and set up the content pane.        final PasswordDemo newContentPane = new PasswordDemo(frame);        newContentPane.setOpaque(true); //content panes must be opaque        frame.setContentPane(newContentPane);        //Make sure the focus goes to the right component        //whenever the frame is initially given the focus.        frame.addWindowListener(new WindowAdapter() {            public void windowActivated(WindowEvent e) {                newContentPane.resetFocus();            }        });        //Display the window.        frame.pack();        frame.setVisible(true);    }    public static void main(String[] args) {        //Schedule a job for the event dispatch thread:        //creating and showing this application's GUI.        SwingUtilities.invokeLater(new Runnable() {            public void run() {                //Turn off metal's use of bold fonts		UIManager.put("swing.boldMetal", Boolean.FALSE);		createAndShowGUI();            }        });    }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -