• 登录页面


    1.实验设计

          新建一个类Login继承 java.awt类包里的Frame,定义一个JFrame类的框架f,设置窗口的大小,位置,背景颜色,窗口可见;然后定义一个容器con,容器中组件的布局为6行1列,容器中共存放5个面板:填写登录名面板,填写密码面板,填写验证码面板,存放“登录”按钮的面板,存放“注册”的面板。填写登录名和密码的面板上有提示信息和文本框。验证码面板上有提示信息,文本框和验证码。验证码是RandomStringUtils类函数随机生成的。

    2.流程图

    3.源程序

    import javax.swing.*

    import org.apache.commons.lang.*; 

    import java.awt.*;

    public class Login extends Frame{

    public static void main(String[] args) {
    JFrame f=new JFrame("请登录");//定义一个框架
    f.setSize(400,300);//窗口大小
    f.setBackground(Color.blue);//背景颜色
    f.setLocation(500,400);//位置
    f.setVisible(true);//窗口可见

    Container con=f.getContentPane();//定义一个容器con
    con.setLayout(new GridLayout(6,1));//容器中组件的布局,1列6行



    Panel pan_name=new Panel();//定义一个用于填写登录名的版面
    Label name=new Label("登录名:");//构造方法,标签名称是“登录名”,默认靠左对齐
    pan_name.add(name);//将标签增加到版面上
    TextField t_name=new TextField(30);//用于填写的文本框
    t_name.setText("用户名/邮箱");
    pan_name.add(t_name);//将文本框增加到版面上
    con.add(pan_name);


    Panel pan_password=new Panel();//填写密码的版面
    Label password=new Label("密码:");
    pan_password.add(password);
    JPasswordField t_password=new JPasswordField(20);
    t_password.setEchoChar('*');//写入密码后显示为*
    pan_password.add(t_password);
    con.add(pan_password);

    Panel pan_identify=new Panel();//填写验证码的版面
    Label identify=new Label("验证码:");
    pan_identify.add(identify);
    TextField t_identify=new TextField(20);
    t_identify.setText(" ");
    pan_identify.add(t_identify);
    String code=RandomStringUtils.randomAlphanumeric(5);//code是随机生成的五个随机数
    Label identify_code=new Label(code);
    pan_identify.add(identify_code);
    con.add(pan_identify);


    Panel pan_login=new Panel();//登录按钮的版面
    Button button1=new Button("登录");//定义一个按钮
    button1.setBackground(Color.white);
    pan_login.add(button1);
    con.add(pan_login);

    Panel pan_register=new Panel();//登录注册的版面
    Button button2=new Button("快速注册");//定义一个按钮
    button2.setBackground(Color.white);
    pan_register.add(button2);
    con.add(pan_register);


    }

    }

    4.实验截图

    5.实验总结

            这次实验中最难的是生成验证码,刚开始想用RandomStringUtils类库函数,发现库中没有import org.apache.commons.lang.*的类函数;后来想用java.lang.Math.Random类写生成随机字符的方法来生成验证码,发现很麻烦;最后下载了org.apache.commons jar包,然后导入到项目中。

    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利.
  • 相关阅读:
    [原理][源代码解析]spring中@Transactional,Propagation.SUPPORTS,以及 Hibernate Session,以及jdbc Connection关系---转载
    凡事预则立,不预则废
    Linux下history命令详解---转载
    12 个最佳的免费网络监控工具--转载
    Linux curl命令参数详解--转载
    从源码角度深入分析ant
    SpringMVC关于json、xml自动转换的原理研究[附带源码分析 --转
    使用split进行分割时遇到特殊字符的问题
    ES查看segment大小
    Twitter的流处理器系统Heron——升级的storm,可以利用mesos来进行资源调度
  • 原文地址:https://www.cnblogs.com/wl2017/p/7624906.html
Copyright © 2020-2023  润新知