9.15

发布时间 2023-09-15 20:36:48作者: 徐星凯

一、java登陆界面

package loadin;
//import student_manage.StudentManage;
import javax.swing.*;
import java.awt.*;
public class Login {
     public static void main(String[] args) {
         JFrame jFrame = new JFrame("登录");
         //JFrame可以创建一个窗口,并且给窗口命名;
         jFrame.setSize(900, 507);
         //setSize函数用来设置生成窗口的大小;
         jFrame.setLayout(null);
         //布局管理器设置为null;
         //将布局管理器设置为null之后可以更为自由是的设置窗口的各项数值不受管理器的限制;
         //添加标题
         JLabel title = new JLabel("学生管理系统");
         //JLabel可以给生成的界面添加文字内容;
         title.setForeground(new Color(0, 0, 0, 250));
         //给文字上色;
         title.setFont(new Font("宋体", Font.PLAIN, 50));
         //规定文字的字体和大小;
         title.setBounds(280, 50, 800, 100);
         //规定文字生成的位置;
         jFrame.add(title);
         //添加用户名;
         JLabel userName = new JLabel("用户名:");
         userName.setForeground(new Color(0, 0, 0, 250));
         userName.setFont(new Font("宋体", Font.PLAIN, 30));
         userName.setBounds(200, 140, 200, 100);
         jFrame.add(userName);
         //添加密码;
         JLabel userPassWord = new JLabel("密码:");
         userPassWord.setForeground(new Color(0, 0, 0, 250));
         userPassWord.setFont(new Font("宋体", Font.PLAIN, 30));
         userPassWord.setBounds(200, 200, 200, 100);
         jFrame.add(userPassWord);
         //添加验证码
         String stra = str();
         JLabel setNum = new JLabel(stra);
         setNum.setForeground(new Color(0, 0, 0, 250));
         setNum.setFont(new Font("宋体", Font.PLAIN, 30));
         setNum.setBounds(500, 250, 200, 100);
         jFrame.add(setNum);
         //创建一个用户名的输入栏
         JTextField name = new JTextField(20);//20是输入上限;
         //JTextField可以生成一个可供用户输入的输入栏;
         name.setForeground(new Color(0, 0, 0, 250));
         name.setFont(new Font("宋体", Font.PLAIN, 30));
         name.setBounds(330, 170, 280, 40);
         jFrame.add(name);
         //创建一个密码的输入栏;
         JTextField passWord = new JTextField(20);//20是输入上限;
         passWord.setForeground(new Color(0, 0, 0, 250));
         passWord.setFont(new Font("宋体", Font.PLAIN, 30));
         passWord.setBounds(330, 230, 280, 40);
         jFrame.add(passWord);
         //创建验证码的输入栏
         JTextField num = new JTextField(20);//20是输入上限;
         num.setForeground(new Color(0, 0, 0, 250));
         num.setFont(new Font("宋体", Font.PLAIN, 30));
         num.setBounds(200, 290, 280, 40);
         jFrame.add(num);
         //添加登录按钮;
         JButton loadIn = new JButton("登录");
         //JButton可以创建一个可供用户交互的按钮;
         loadIn.setForeground(new Color(0, 0, 0, 250));
         loadIn.setBackground(new Color(0, 0, 0, 0));
         //设置背景颜色
         loadIn.setFont(new Font("宋体", Font.PLAIN, 20));
         loadIn.setBorderPainted(false);
         //不设置边框;
         loadIn.setBounds(500, 330, 100, 50);
         jFrame.add(loadIn);
         //对按钮进行处理,使其可以进行交互;
         loadIn.addActionListener((e->{
            String pwd = new String(passWord.getText());
            if(name.getText().equals("admin")){
                if(pwd.equals("123456")){
                    if(num.getText().equals(stra)){
                        //登录界面设置为不可见,既消去登陆界面
                        jFrame.setVisible(false);
                    }else{
                        JOptionPane.showMessageDialog(jFrame,"验证码错误","提示",JOptionPane.INFORMATION_MESSAGE);
                        num.setText("");
                    }
                }
                else{
                    JOptionPane.showMessageDialog(jFrame,"密码错误","提示",JOptionPane.INFORMATION_MESSAGE);
                    //清空密码区的数据
                    num.setText("");
                    passWord.setText("");
                }
            }
            else{
                JOptionPane.showMessageDialog(jFrame,"用户名错误","提示",JOptionPane.INFORMATION_MESSAGE);
                //清空用户名和密码的数据
                num.setText("");
                name.setText("");
                passWord.setText("");
            }
         }));
         //设置相对位置:屏幕中间
         jFrame.setLocationRelativeTo(null);
         //确保使用窗口关闭按钮,能够正常退出,结束进程!
         jFrame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
         //禁止对窗口大小进行缩放处理
         jFrame.setResizable(false);
         //设置可见
         jFrame.setVisible(true);
     }
    public static String str()
    {
        //定义一个空字符串
        String result = "";
        //进行6次循环
        for(int i = 0 ; i < 6 ; i ++)
        {
            //生成一个97~122的int型的整数
            int intVal = (int)(Math.random() * 26 + 97);
            //将intValue强制转换为char后连接到result后面
            result = result + (char)intVal;
        }
        //输出随机字符串
        return result;
    }
}