Fenêtre d'enregistrement de connexion simple Java Swing

avant-propos

Récemment, j'ai écrit une fenêtre de connexion et d'enregistrement simple tout en apprenant Java Swing.
Ce projet comprend la création de JFrame, quelques exercices de composants et l'ajout d'une surveillance simple des événements et d'un simple jugement du nom d'utilisateur et du mot de passe.
Les pages de connexion et d'inscription sont uniquement dessinées sans ajouter d'autres composants

introduire

1, Swing est une boîte à outils graphique conçue pour Java.
2, Swing fait partie de la classe de base JAVA.
3, Swing comprend des dispositifs d'interface utilisateur graphique (GUI) tels que : des zones de texte, des boutons, des volets et des tableaux séparés.
4, Swing fournit de nombreux meilleurs éléments d'affichage à l'écran que AWT. Ils sont écrits en Java pur, ils sont donc aussi multiplateformes que Java lui-même, contrairement à AWT. Ils font partie de JFC. Ils prennent en charge des panneaux et des thèmes remplaçables (thèmes par défaut propres à divers systèmes d'exploitation), mais au lieu d'utiliser réellement les appareils fournis par la plate-forme native, ils ne les imitent que superficiellement. Cela signifie que vous pouvez utiliser n'importe quel panneau pris en charge par JAVA sur n'importe quelle plate-forme. L'inconvénient des composants légers est une vitesse d'exécution plus lente, et l'avantage est qu'ils peuvent adopter un comportement uniforme sur toutes les plates-formes.

analyser

1. Créez d'abord une fenêtre JFrame et configurez-la
2. Ajoutez les composants correspondants
3. Ajoutez un jugement au nom d'utilisateur et au mot de passe
4. Ajoutez des événements de surveillance aux boutons correspondants
5. Dessinez les pages de connexion et d'enregistrement

Affichage du projet

Connectez-vous à la page principale

insérez la description de l'image ici

Jugement du nom d'utilisateur et du mot de passe

insérez la description de l'image ici
insérez la description de l'image ici

Connectez-vous avec succès entrer dans la page

insérez la description de l'image ici

page d'inscription

insérez la description de l'image ici

affichage des codes

Classe d'index (classe principale)
public class Index {
    
    
    public static void main(String[] args) {
    
    
        Creat l=new Creat();
        l.creatJf();
    }
}
Créer une classe (en gros, chaque ligne est commentée)
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);
            }

        }
    }
}

Classe de connexion
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);
    }
}

Enregistrer la classe (presque identique à la connexion)
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);
    }
}

Je suppose que tu aimes

Origine blog.csdn.net/weixin_46760692/article/details/127096049
conseillé
Classement