Loading

[JAVA Swing] 用户登录界面 (1)

[JAVA Swing] 用户登录界面 (2)

[JAVA Swing] 用户登录界面 (3)

 

登录界面要求:

1、用户名和密码输入有限制,比如长度为10位以下等;

2、点重置则清空用户名和密码的输入,光标定位到用户名文本框中;

3、输入用户名和密码后,根据根据情况提示成功或提示有误,请重新输入。

4、点注册按钮后则跳转到注册界面。

 

注册界面需求:

1、用户名输入有限制,比如长度为10位以下等;

2、密码输入有限制,如必须使用字符与数字组合,长度为15位以下等;

3、对密码与确认密码的输入进行判断,当两次输入不同时提示重新确认;

4、点注册按钮后完成注册并提示注册成功与否

5、点重置则清空用户名和密码的输入,光标定位到用户名文本框中;

界面预览:

 

第一步先把窗口设计出来,这一步比较简单,只是把组件作一些封装和排列

java Swing图形界面的组件介绍和用法可以学习dalao的博客 ==> 传送门

深入地探究还可以学习API参考文献 ==> 传送门

package login;
//登陆界面类
import java.awt.FlowLayout;

import javax.swing.Box;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JPasswordField;
import javax.swing.JTextField;

public class Lfr {
    //公共静态主登陆界面框
    public static JFrame frame = new JFrame("登录界面");
    //登陆界面组件
    public static JLabel label1 = new JLabel("用户名");                 //标签
    public static JTextField username = new JTextField(10);            //文本框
    public static JLabel label2 = new JLabel("密   码");
    public static JPasswordField password = new JPasswordField(10);    //密码文本框
    public static JButton Signinbtn = new JButton("登录");              //按钮
    public static JButton registerbtn = new JButton("注册");
    public static JButton resetbtn = new JButton("重置");
    //构造函数,创建以及初始化窗口
    public Lfr() {
        
        //设置窗口大小
        frame.setSize(350, 200);
        //设置按下右上角X号后关闭
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        //调用函数初始化窗体的组件
        initFrame();
        //窗口居中
        frame.setLocationRelativeTo(null);
        //窗口可见
        frame.setVisible(true);
    }
    
    public void initFrame() {
        //定义面板封装文本框和标签
        JPanel panel01 = new JPanel(new FlowLayout(FlowLayout.CENTER));  //居中面板
        panel01.add(label1);
        panel01.add(username);

        JPanel panel02 = new JPanel(new FlowLayout(FlowLayout.CENTER));
        panel02.add(label2);
        panel02.add(password);

        //定义面板封装按钮
        JPanel panel03 = new JPanel(new FlowLayout(FlowLayout.CENTER));
        panel03.add(Signinbtn);
        panel03.add(registerbtn);
        panel03.add(resetbtn);
        
        //箱式布局装入三个面板
        Box vBox = Box.createVerticalBox(); 
        vBox.add(panel01);
        vBox.add(panel02);
        vBox.add(panel03);
        
        //将布局置入窗口
        frame.setContentPane(vBox);
    }
    
    public static void main(String[] args) {
        new Lfr();
        }

}
package login;
//注册界面类
import java.awt.FlowLayout;
import java.awt.Rectangle;

import javax.swing.Box;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JPasswordField;

public class Rfr {
    
    public static JFrame frame2 = new JFrame("注册界面");
    public static JLabel label3 = new JLabel("确认密码");
    public static JPasswordField conpassword = new JPasswordField(8);
    public static JButton rregisterbtn = new JButton("注册");
    
    public Rfr() {
        
        //设置窗口大小
        frame2.setSize(350, 200);
        //设置按下右上角X号后关闭
        frame2.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        //调用函数初始化窗体的组件
        initFrame2();
        //新窗口与旧窗口错开50像素。
        frame2.setBounds(
                new Rectangle(
                        (int) Lfr.frame.getBounds().getX()+ 50,
                        (int) Lfr.frame.getBounds().getY() + 50, 
                        (int) Lfr.frame.getBounds().getWidth(), 
                        (int) Lfr.frame.getBounds().getHeight()
                ));
        //窗口可见
        frame2.setVisible(true);
    }

    public void initFrame2() {
        
        JPanel panel11 = new JPanel();
        panel11.add(Lfr.label1);
        panel11.add(Lfr.username);
        
        JPanel panel12 = new JPanel();
        panel12.add(Lfr.label2);
        panel12.add(Lfr.password);
        
        JPanel panel13 = new JPanel();
        panel13.add(label3);
        panel13.add(conpassword);
        
        JPanel panel14 = new JPanel(new FlowLayout(FlowLayout.CENTER));
        panel14.add(rregisterbtn);
        panel14.add(Lfr.resetbtn);
        
        Box vBox = Box.createVerticalBox(); 
        vBox.add(panel11);
        vBox.add(panel12);
        vBox.add(panel13);
        vBox.add(panel14);
        
        frame2.setContentPane(vBox);
    }
    public static void register() {
        new Rfr();
        }

}

 

posted @ 2021-03-07 15:52  Masahiko  阅读(3784)  评论(0编辑  收藏  举报