实验任务四

1.设计思想

利用Math.random()产生一个int类型随机数,循环6次把int类型转换成char类型连接在一起,组成一个验证码字符串。定义各种组件,完成添加和布局。

2.程序流程图

 

3.源程序

import java.awt.*;

import javax.swing.*;

public class LoginInterface extends JFrame

{

JPanel win1,win2;

JLabel label1,label2,label3,label4;

JButton button1,button2,button3,button4,button5;

    JTextField id;

    JTextField verification_code;

    JPasswordField password;

    public static void main(String args[])

    {

     LoginInterface login=new LoginInterface();

    }

    public LoginInterface()

    {

String result = "";

for(int i = 0 ; i < 6 ; i ++)//进行5次循环

{

int intVal = (int)(Math.random() * 26 + 97);//生成一个97122int型的整数

result = result + (char)intVal;//intValue强制转换为char后连接到result后面

}

     win1=new JPanel();

     win2=new JPanel();

    

     label1=new JLabel("登录名",JLabel.CENTER);

     label2=new JLabel("密码",JLabel.CENTER);

     label3=new JLabel("验证码",JLabel.CENTER);

     label4=new JLabel("忘记密码",JLabel.CENTER);

     label4.setFont(new Font("宋体",Font.PLAIN,16));//设置字体大小,

        label4.setForeground(Color.BLUE);//设置字的颜色

        label4.setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR));

        

     button1=new JButton("登录");

     button1.setForeground(Color.RED);

     button2=new JButton("快速注册");

     button3=new JButton("清除");

     button4=new JButton(result);

     button4.setForeground(Color.GREEN);

     button5=new JButton("退出");

      

     id=new JTextField();

     verification_code=new JTextField();

     password=new JPasswordField();

    

     win1.setLayout(new GridLayout(3,3));

     win1.add(label1);

     win1.add(id);

     win1.add(button3);

     win1.add(label2);

     win1.add(password);

        win1.add(label4);

        win1.add(label3);

        win1.add(verification_code);

        win1.add(button4);

        

        win2.add(button1);

        win2.add(button5);

        win2.add(button2);

    

        this.add(win2,BorderLayout.SOUTH);

        this.add(win1, BorderLayout.CENTER);

        

        this.setTitle("登录器");

        this.setSize(340,200);

        this.setLocation(200,200);

this.setResizable(false);

this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

this.setVisible(true);

    }

}

4.截图

 

5.总结

(1)界面太死板

(2)没有实现事件处理,原想把验证码定义为button按下时即可重新生成。

原文地址:https://www.cnblogs.com/ssyh/p/7639584.html