利用Java图形化界面组件Swing写一个简易的登录界面

简介: 利用Java图形化界面组件Swing写一个简易的登录界面

实际效果

介绍

使用的类

GridBagConstraints类

创建对象后可以通过调用访问成员属性来修改数值

再作为参数传入方法来指定类型的属性(宽高)

密码框JPasswordField

输入的内容是默认是隐藏的

重写actionPerformed方法

actionPerformed 方法是为了实现自定义的身份验证逻辑。通过重写这个方法,我们可以在用户点击登录按钮时执行我们自己的验证逻辑,而不仅仅是使用默认的行为。

在实际开发中,重写方法可以让我们根据具体需求来定制代码逻辑,使得程序更加灵活和符合特定的业务需求。这样做可以提高代码的可维护性和可扩展性,同时也有助于避免代码重复。

这边也提高了程序的可拓展性 我们可以接入双列集合中的用户名和密码

代码

import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
 
public class LoginSystem extends JFrame implements ActionListener {
    private JTextField usernameField;
    private JPasswordField passwordField;
 
    public LoginSystem() {
 
        //初始化界面
        setTitle("登录系统");
        setSize(300, 150);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
 
        //创建面板对象
        JPanel panel = new JPanel(new GridBagLayout());
        //GridBagConstraints是在图形化界面中控制组件大小和位置的
        GridBagConstraints c = new GridBagConstraints();
        //可以自定义组件的位置
        c.insets = new Insets(5, 5, 5, 5);
 
        //创建无图像且标题为空字符串JLabel
        JLabel userLabel = new JLabel("用户名:");
        c.gridx = 0;
        c.gridy = 0;
        panel.add(userLabel, c);
 
        //创建文本框JTextField
        usernameField = new JTextField(15);
        c.gridx = 1;
        c.gridy = 0;
        panel.add(usernameField, c);
 
        //创建无图像且标题为空字符串JLabel
        JLabel passLabel = new JLabel("密码:");
        c.gridx = 0;
        c.gridy = 1;
        panel.add(passLabel, c);
 
        //创建密码框JPasswordField
        passwordField = new JPasswordField(15);
        c.gridx = 1;
        c.gridy = 1;
        panel.add(passwordField, c);
 
        //创建按钮的对象
        JButton loginButton = new JButton("登录");
        loginButton.addActionListener(this);
        c.gridx = 0;
        c.gridy = 2;
        c.gridwidth = 2;
        c.anchor = GridBagConstraints.CENTER;
        panel.add(loginButton, c);
 
        //最后把面板添加进去
        add(panel);
 
        //可以将窗口设置到屏幕中央
        setLocationRelativeTo(null);
 
        //设置窗口可显示
        setVisible(true);
    }
 
    @Override
    public void actionPerformed(ActionEvent e) {
        String username = usernameField.getText();
        String password = new String(passwordField.getPassword());
        // 在这里可以添加验证逻辑,比如检查用户名和密码是否匹配
        if (username.equals("Dduo") && password.equals("123")) {
            JOptionPane.showMessageDialog(this, "登录成功");
        } else {
            JOptionPane.showMessageDialog(this, "登录失败,请重试");
        }
    }
 
    public static void main(String[] args) {
        SwingUtilities.invokeLater(() -> new LoginSystem());
    }
}
目录
相关文章
|
8月前
|
Java 数据安全/隐私保护 索引
(Java)Java里JFrame窗体的基本操作(组件篇-3)
回顾 说过了下拉框和下拉列表,本篇内容将了解滚动面板和各类输入框 什么是组件? 如果不熟悉组件,可以将组件看作是某个Form表单中的表单元素,组件可以完善JFrame窗口的布局,以及一些功能; 本篇内容中所有的组件所用到的类全都来自于javax.swing这个包中,记得引入; 另:在使用组件前,请先将窗体中的内容类给实例化出来进行操作,代码如下: Container c = getContentPane(); JScollPane JScollPane类,说的就是滚动面板。它不同于其他组件,它是一个容器,
180 2
|
8月前
|
Java 索引 容器
(Java)Java里JFrame窗体的基本操作(组件篇-2)
回顾 这算是JFrame窗体基本操作的组件第二篇了,上一篇说过了单选框,复选框,按钮。 在这一篇中,我会说明下拉框和列表框 什么是组件? 自行百度:java中JFrame窗体里的组件是什么? 名字都给你想好了 ( :I ) JComBox下拉框 JComBox类,就是下拉框,实例化出来后,要填写泛型<>,添加是什么数据类型的内容,泛型中就写上该数据类型; JComboBox<?> combox = new JComboBox<>(); 以下实例化下拉框的时候我泛型写的全
220 1
|
8月前
|
Java 容器
(Java)Java里JFrame窗体的基础操作(组件-1)
如果不熟悉组件,可以将组件看作是某个Form表单中的表单元素,当然这只是在不熟悉组件的前提下。如果深入了解了组件,那么它有着非常多的组件,这些组件可以完善JFrame窗口的布局,以及一些功能; 本篇内容中所有的组件所用到的类全都来自于javax.swing这个包中,记得引入
175 1
|
10月前
|
消息中间件 Java Kafka
Java 事件驱动架构设计实战与 Kafka 生态系统组件实操全流程指南
本指南详解Java事件驱动架构与Kafka生态实操,涵盖环境搭建、事件模型定义、生产者与消费者实现、事件测试及高级特性,助你快速构建高可扩展分布式系统。
471 7
|
12月前
|
Java 数据库连接 数据库
Java 组件详细使用方法与封装实战指南
本指南详解Java核心组件使用与封装技巧,涵盖跨平台开发、面向对象编程、多线程、数据库操作等关键内容,并提供工具类、连接池、异常及响应结果的封装方法。结合Spring框架、MyBatis、Spring Boot等主流技术,助你掌握高质量Java组件设计与开发实践。
316 2
|
存储 缓存 Java
java语言后台管理ruoyi后台管理框架-登录提示“无效的会话,或者会话已过期,请重新登录。”-扩展知识数据库中密码加密的方法-问题如何解决-以及如何重置若依后台管理框架admin密码-优雅草卓伊凡
java语言后台管理ruoyi后台管理框架-登录提示“无效的会话,或者会话已过期,请重新登录。”-扩展知识数据库中密码加密的方法-问题如何解决-以及如何重置若依后台管理框架admin密码-优雅草卓伊凡
2484 3
java语言后台管理ruoyi后台管理框架-登录提示“无效的会话,或者会话已过期,请重新登录。”-扩展知识数据库中密码加密的方法-问题如何解决-以及如何重置若依后台管理框架admin密码-优雅草卓伊凡
|
缓存 Java 应用服务中间件
java语言后台管理若依框架-登录提示404-接口异常-系统接口404异常如何处理-登录验证码不显示prod-api/captchaImage 404 (Not Found) 如何处理-解决方案优雅草卓伊凡
java语言后台管理若依框架-登录提示404-接口异常-系统接口404异常如何处理-登录验证码不显示prod-api/captchaImage 404 (Not Found) 如何处理-解决方案优雅草卓伊凡
5036 5
|
存储 小程序 前端开发
微信小程序与Java后端实现微信授权登录功能
微信小程序极大地简化了登录注册流程。对于用户而言,仅仅需要点击授权按钮,便能够完成登录操作,无需经历繁琐的注册步骤以及输入账号密码等一系列复杂操作,这种便捷的登录方式极大地提升了用户的使用体验
3962 12
|
移动开发 前端开发 Java
Java最新图形化界面开发技术——JavaFx教程(含UI控件用法介绍、属性绑定、事件监听、FXML)
JavaFX是Java的下一代图形用户界面工具包。JavaFX是一组图形和媒体API,我们可以用它们来创建和部署富客户端应用程序。 JavaFX允许开发人员快速构建丰富的跨平台应用程序,允许开发人员在单个编程接口中组合图形,动画和UI控件。本文详细介绍了JavaFx的常见用法,相信读完本教程你一定有所收获!
15631 5
Java最新图形化界面开发技术——JavaFx教程(含UI控件用法介绍、属性绑定、事件监听、FXML)
|
存储 IDE Java
漂亮不是梦!Java Swing美化攻略
Java Swing 是一个为 Java 设计的 GUI 工具包,提供文本框、按钮等组件。尽管其外观可定制,通过 Look and Feel(LAF)机制改变应用风格,如 Darcula 和 FlatLaf,但现已淡出主流视野,主要应用于 IDE 领域,如 IntelliJ IDEA 和 Eclipse。相比其他 GUI 框架,Swing 的发展前景有限。
846 1