利用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());
    }
}
目录
相关文章
|
3月前
|
存储 缓存 Java
java语言后台管理ruoyi后台管理框架-登录提示“无效的会话,或者会话已过期,请重新登录。”-扩展知识数据库中密码加密的方法-问题如何解决-以及如何重置若依后台管理框架admin密码-优雅草卓伊凡
java语言后台管理ruoyi后台管理框架-登录提示“无效的会话,或者会话已过期,请重新登录。”-扩展知识数据库中密码加密的方法-问题如何解决-以及如何重置若依后台管理框架admin密码-优雅草卓伊凡
291 3
java语言后台管理ruoyi后台管理框架-登录提示“无效的会话,或者会话已过期,请重新登录。”-扩展知识数据库中密码加密的方法-问题如何解决-以及如何重置若依后台管理框架admin密码-优雅草卓伊凡
|
3月前
|
存储 小程序 前端开发
微信小程序与Java后端实现微信授权登录功能
微信小程序极大地简化了登录注册流程。对于用户而言,仅仅需要点击授权按钮,便能够完成登录操作,无需经历繁琐的注册步骤以及输入账号密码等一系列复杂操作,这种便捷的登录方式极大地提升了用户的使用体验
979 12
|
3月前
|
缓存 Java 应用服务中间件
java语言后台管理若依框架-登录提示404-接口异常-系统接口404异常如何处理-登录验证码不显示prod-api/captchaImage 404 (Not Found) 如何处理-解决方案优雅草卓伊凡
java语言后台管理若依框架-登录提示404-接口异常-系统接口404异常如何处理-登录验证码不显示prod-api/captchaImage 404 (Not Found) 如何处理-解决方案优雅草卓伊凡
542 5
|
5月前
|
移动开发 前端开发 Java
Java最新图形化界面开发技术——JavaFx教程(含UI控件用法介绍、属性绑定、事件监听、FXML)
JavaFX是Java的下一代图形用户界面工具包。JavaFX是一组图形和媒体API,我们可以用它们来创建和部署富客户端应用程序。 JavaFX允许开发人员快速构建丰富的跨平台应用程序,允许开发人员在单个编程接口中组合图形,动画和UI控件。本文详细介绍了JavaFx的常见用法,相信读完本教程你一定有所收获!
4708 2
Java最新图形化界面开发技术——JavaFx教程(含UI控件用法介绍、属性绑定、事件监听、FXML)
|
5月前
|
存储 IDE Java
漂亮不是梦!Java Swing美化攻略
Java Swing 是一个为 Java 设计的 GUI 工具包,提供文本框、按钮等组件。尽管其外观可定制,通过 Look and Feel(LAF)机制改变应用风格,如 Darcula 和 FlatLaf,但现已淡出主流视野,主要应用于 IDE 领域,如 IntelliJ IDEA 和 Eclipse。相比其他 GUI 框架,Swing 的发展前景有限。
151 1
|
6月前
|
开发框架 JavaScript 前端开发
HarmonyOS UI开发:掌握ArkUI(包括Java UI和JS UI)进行界面开发
【10月更文挑战第22天】随着科技发展,操作系统呈现多元化趋势。华为推出的HarmonyOS以其全场景、多设备特性备受关注。本文介绍HarmonyOS的UI开发框架ArkUI,探讨Java UI和JS UI两种开发方式。Java UI适合复杂界面开发,性能较高;JS UI适合快速开发简单界面,跨平台性好。掌握ArkUI可高效打造符合用户需求的界面。
316 8
|
6月前
|
小程序 前端开发 算法
|
7月前
|
Java
Java 登录输入的验证码
Java 登录输入的验证码
76 1
|
9月前
|
安全 Java API
|
9月前
|
SQL Java 数据库连接
【Azure 应用服务】Java ODBC代码中,启用 Managed Identity 登录 SQL Server 报错 Managed Identity authentication is not available
【Azure 应用服务】Java ODBC代码中,启用 Managed Identity 登录 SQL Server 报错 Managed Identity authentication is not available