ch8_e8_19.java

来自「清华的Java程序」· Java 代码 · 共 84 行

JAVA
84
字号
import java.awt.*; 
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;

public class ch8_e8_19 extends JApplet implements ActionListener
{
//    final String SETUP_PROMPT = "Please register:";
//    final String SIGNIN_PROMPT = "Please sign up:";
    final String SETUP_PROMPT = "请 设置 帐号与密码";
    final String SIGNIN_PROMPT = "请 输入 帐号与密码";
    JLabel myLbl = new JLabel(SETUP_PROMPT);
    JTextField myTfd = new JTextField(10);
    JPasswordField myPwdFd = new JPasswordField(10);
    int count = 0;
    String accountNumber = null;
    String inputAccNum = null;
    String password = null;
    
    public void init()
    {
        Container c = getContentPane();
        
        c.setLayout(new FlowLayout());
        c.add(myLbl);
        c.add(myTfd);
        c.add(myPwdFd);
        myTfd.addActionListener(this);
        myPwdFd.addActionListener(this);
    }
    
    public void actionPerformed(ActionEvent ae)
    {
        if(ae.getSource() == myTfd)
        {
            inputAccNum = myTfd.getText().trim();
            myPwdFd.requestFocus();
            System.out.println(inputAccNum + "," + count);
        }
        else if(ae.getSource() == myPwdFd)
        {
            if(myLbl.getText().equals(SETUP_PROMPT))
            {
                accountNumber = inputAccNum;
                password = String.valueOf(myPwdFd.getPassword()).trim();
                myTfd.setText("");
                myPwdFd.setText("");
                myLbl.setText(SIGNIN_PROMPT);
                myTfd.requestFocus();
                System.out.println(password + "." + count);
            }
            else if(myLbl.getText().equals(SIGNIN_PROMPT))
            {
                String str = String.valueOf(myPwdFd.getPassword()).trim();
                System.out.println(inputAccNum+","+str+"."+count);
                if(inputAccNum.equals(accountNumber) &&
                    str.equals(password))
                {
                    count = 0;
                    myLbl.setText(SETUP_PROMPT);
                    showStatus("密码确认成功。");
                    myTfd.setText("");
                    myPwdFd.setText("");
                    myTfd.requestFocus();
                }
                else
                {
                    if(++count<3)
                    {
                        myPwdFd.setText("");
                        showStatus("帐号或密码输入失败,请重试。");
                    }
                    else
                    {
                        showStatus("输入失败三次,再见");
                        myTfd.setEnabled(false);
                        myPwdFd.setEnabled(false);
                    }
                }
            }
        }
    }
}

⌨️ 快捷键说明

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