Ventana de registro de inicio de sesión simple de Java Swing

prefacio

Recientemente, escribí una ventana simple de inicio de sesión y registro mientras aprendía Java Swing.Este
proyecto incluye la creación de JFrame, algunos ejercicios de componentes y un monitoreo simple de eventos agregado y un juicio simple de nombre de usuario y contraseña.
Las páginas de inicio de sesión y registro solo se dibujan sin agregar otros componentes

introducir

1, Swing es un juego de herramientas GUI diseñado para Java.
2, Swing es parte de la clase básica de JAVA.
3, Swing incluye dispositivos de interfaz gráfica de usuario (GUI) como: cuadros de texto, botones, paneles separados y tablas.
4, Swing proporciona muchos mejores elementos de visualización de pantalla que AWT. Están escritos en Java puro, por lo que son tan multiplataforma como el mismo Java, a diferencia de AWT. Son parte de JFC. Admiten paneles y temas reemplazables (temas predeterminados exclusivos de varios sistemas operativos), pero en lugar de utilizar realmente los dispositivos proporcionados por la plataforma nativa, solo los imitan superficialmente. Esto significa que puede usar cualquier panel compatible con JAVA en cualquier plataforma. La desventaja de los componentes livianos es una velocidad de ejecución más lenta y la ventaja es que pueden adoptar un comportamiento uniforme en todas las plataformas.

analizar

1. Primero cree una ventana JFrame y configúrela
2. Agregue los componentes correspondientes
3. Agregue juicio al nombre de usuario y contraseña
4. Agregue eventos de monitoreo a los botones correspondientes
5. Dibuje las páginas de inicio de sesión y registro

visualización del proyecto

Iniciar sesión en la página principal

inserte la descripción de la imagen aquí

Juicio de nombre de usuario y contraseña

inserte la descripción de la imagen aquí
inserte la descripción de la imagen aquí

Inicie sesión con éxito ingrese a la página

inserte la descripción de la imagen aquí

página de registro

inserte la descripción de la imagen aquí

pantalla de código

Clase de índice (clase principal)
public class Index {
    
    
    public static void main(String[] args) {
    
    
        Creat l=new Creat();
        l.creatJf();
    }
}
Crear clase (básicamente se comenta cada línea)
package com.qiku.work.work0926;

import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;


public class Creat {
    
    
    public void creatJf() {
    
    
              /*  //使用awt工具箱
        Toolkit tk = Toolkit.getDefaultToolkit();
        Image image = tk.getImage("com/qiku/work/work0926/img.jpg");*/
        //创建JFrame实例
        JFrame frame = new JFrame("Login");
        //设置窗体宽高
        frame.setSize(350, 200);
        frame.setLocationRelativeTo(null); //设置窗口居中显示
        //设置关闭窗口结束程序
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        //设置窗体禁止调节大小
        frame.setResizable(false);
      /*  //改变窗口默认图标
        frame.setIconImage(image);*/
        //创建面板
        JPanel jPanel = new JPanel();

        jPanel.setLayout(null); //布局设置为空,之后可以手动设置组件的坐标位置和大小

        //创建JLabel(用户名)
        JLabel user_label = new JLabel("用户名:");
        user_label.setFont(new Font("微软雅黑", 0, 13));
        //定义组件的位置和宽高
        user_label.setBounds(10, 20, 80, 25);
        //把组件添加到JPanel上
        jPanel.add(user_label);

        //创建文不域用于用户输入
        JTextField user_text = new JTextField(20);
        //设置文本域的位置和宽高
        user_text.setBounds(100, 20, 165, 25);
        //把文本域组件添加上
        jPanel.add(user_text);

        //创建JLabel(密码)
        JLabel password_label = new JLabel("密码:");
        password_label.setFont(new Font("微软雅黑", 0, 13));
        //设置位置和大小
        password_label.setBounds(10, 50, 80, 25);
        //添加组件
        jPanel.add(password_label);

        //密码文本域输入
        JPasswordField password_text = new JPasswordField();  //密码输入框,输入密码自动隐藏
        //JTextField password_text = new JTextField(20);
        password_text.setBounds(100, 50, 165, 25);

        jPanel.add(password_text);


        //登录按钮
        JButton login = new JButton("登录");
        login.setBounds(80, 100, 80, 25);


        //注册按钮
        JButton register = new JButton("注册");
        register.setBounds(200, 100, 80, 25);

        jPanel.add(register);

        jPanel.add(login);


        //添加面板
        frame.add(jPanel);
        //设置可见
        frame.setVisible(true);
        LoginListener ll = new LoginListener(frame, user_text, password_text);
        login.addActionListener(ll);

        ReListener re = new ReListener();
        register.addActionListener(re);

    }

    public class ReListener implements ActionListener {
    
    

        @Override
        public void actionPerformed(ActionEvent e) {
    
    
            Register.reShow();
        }
    }

    public class LoginListener implements ActionListener {
    
    
        private javax.swing.JTextField jt;//账号输入框对象
        private javax.swing.JPasswordField jp;//密码输入框对象
        private javax.swing.JFrame login;//定义一个窗体对象

        public LoginListener(javax.swing.JFrame login, javax.swing.JTextField jt, javax.swing.JPasswordField jp) {
    
    
            this.login = login;//获取登录界面
            this.jt = jt;//获取登录界面中的账号输入框对象
            this.jp = jp;//获取登录界面中的密码输入框对象
        }

        public void actionPerformed(ActionEvent e) {
    
    
            //用户名密码判断
            if (jt.getText().equals("user") && jp.getText().equals("root")) {
    
    
                //设置弹框
                JOptionPane.showMessageDialog(null, "登陆成功", "成功", 1);
                Login.createShow();
                login.setVisible(false);
            } else if (!(jt.getText().equals("1") && jp.getText().equals("1"))) {
    
    
                JOptionPane.showMessageDialog(null, "登录名或密码错误", "失败", 0);
            }

        }
    }
}

Clase de inicio de sesión
package com.qiku.work.work0926;

import javax.swing.*;
import java.awt.*;


public class Login {
    
    
    public static void createShow() {
    
    
        //创建JFrame实例
        JFrame frame = new JFrame("欢迎您");
        //设置窗体宽高
        frame.setSize(600, 400);
        frame.setLocationRelativeTo(null); //设置窗口居中显示
        //设置窗体禁止调节大小
        frame.setResizable(false);
        //创建面板
        JPanel jPanel = new JPanel();
        jPanel.setLayout(null);

        JLabel label = new JLabel("欢迎您!");
        label.setBounds(250, 0, 100, 25);
        label.setFont(new Font("微软雅黑", Font.BOLD, 25));
        label.setForeground(Color.red);
        jPanel.add(label);
        //关闭窗口结束程序
        frame.setDefaultCloseOperation(frame.EXIT_ON_CLOSE);
        //显示窗口
        frame.setVisible(true);

        //添加面板
        frame.add(jPanel);
        //设置可见
        frame.setVisible(true);
    }
}

Registrar clase (casi lo mismo que Iniciar sesión)
package com.qiku.work.work0926;

import javax.swing.*;
import java.awt.*;


public class Register {
    
    
    public static void reShow() {
    
    
        //创建JFrame实例
        JFrame frame = new JFrame("欢迎注册");
        //设置窗体宽高
        frame.setSize(800, 400);
        frame.setLocationRelativeTo(null); //设置窗口居中显示
        //设置窗体禁止调节大小
        frame.setResizable(false);
        //创建面板
        JPanel jPanel = new JPanel();
        jPanel.setLayout(null);

        JLabel label = new JLabel("欢迎来到注册页面!");
        label.setBounds(280, 0, 250, 25);
        label.setFont(new Font("微软雅黑", Font.BOLD, 25));
        label.setForeground(Color.red);
        jPanel.add(label);
        //关闭窗口结束程序
        frame.setDefaultCloseOperation(frame.EXIT_ON_CLOSE);
        //显示窗口
        frame.setVisible(true);

        //添加面板
        frame.add(jPanel);
        //设置可见
        frame.setVisible(true);
    }
}

Supongo que te gusta

Origin blog.csdn.net/weixin_46760692/article/details/127096049
Recomendado
Clasificación