java:logform

news/2025/10/24 23:33:23/文章来源:https://www.cnblogs.com/geovindu/p/19164422

 

/*** encoding: utf-8* 版权所有 2025 ©涂聚文有限公司 ®* 许可信息查看:言語成了邀功盡責的功臣,還需要行爲每日來值班嗎* 描述:* Author    : geovindu,Geovin Du 涂聚文.* IDE       : IntelliJ IDEA 2024.3.6 Java 17* # database  : Oracle21c,MySQL 9.0,SQL Server 2019,PostgreSQL 17.1 Neo4j* # OS        : window10* Datetime  : 2025 - 2025/10/21 - 20:58* User      : geovindu* Product   : IntelliJ IDEA* Project   : swingdemo* File      : LoginWindow.java* explain   : 学习  类**/package com.example.interfaces;import com.example.application.LoginApplicationService;
import com.example.domain.entity.User;import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.util.Optional;public class LoginWindow extends JFrame {private final LoginApplicationService loginService;private JTextField usernameField;private JPasswordField passwordField;public LoginWindow(LoginApplicationService loginService) {this.loginService = loginService;initializeUI();}private void initializeUI() {setTitle("登录");setSize(300, 200);setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);setLocationRelativeTo(null);// 设置全局字体(支持中文)Font labelFont = new Font("SimHei", Font.PLAIN, 14);JPanel panel = new JPanel(new GridLayout(3, 2, 10, 10));panel.setBorder(BorderFactory.createEmptyBorder(20, 20, 20, 20));JLabel userLabel = new JLabel("用户名:");userLabel.setFont(labelFont); // 用户名标签字体userLabel.setBounds(50, 50, 200, 30); // 设置位置和大小userLabel.setHorizontalAlignment(JLabel.RIGHT);//对齐userLabel.setVerticalAlignment(JLabel.CENTER);panel.add(userLabel);usernameField = new JTextField();usernameField.setFont(labelFont); // 输入框字体panel.add(usernameField);JLabel passLabel = new JLabel("密码:");passLabel.setFont(labelFont); // 密码标签字体passLabel.setBounds(50, 50, 200, 30); // 设置位置和大小passLabel.setHorizontalAlignment(JLabel.RIGHT);passLabel.setVerticalAlignment(JLabel.CENTER);panel.add(passLabel);passwordField = new JPasswordField();passwordField.setFont(labelFont); // 密码框字体panel.add(passwordField);JButton loginButton = new JButton("登录");loginButton.setFont(labelFont); // 按钮字体loginButton.addActionListener(this::handleLogin);panel.add(loginButton);JButton cancelButton = new JButton("取消");cancelButton.setFont(labelFont); // 按钮字体cancelButton.addActionListener(e -> System.exit(0));panel.add(cancelButton);add(panel);setVisible(true);}private void handleLogin(ActionEvent e) {String username = usernameField.getText();String password = new String(passwordField.getPassword());Optional<User> user = loginService.login(username, password);if (user.isPresent()) {JOptionPane.showMessageDialog(this, "登录成功,欢迎回来," + user.get().getFullName() + "!");dispose(); // 关闭登录窗口new MainWindow(user.get()); // 打开主窗口} else {JOptionPane.showMessageDialog(this, "用户名或密码错误", "登录失败", JOptionPane.ERROR_MESSAGE);}}
}

  

/*** encoding: utf-8* 版权所有 2025 ©涂聚文有限公司 ®* 许可信息查看:言語成了邀功盡責的功臣,還需要行爲每日來值班嗎* 描述:* Author    : geovindu,Geovin Du 涂聚文.* IDE       : IntelliJ IDEA 2024.3.6 Java 17* # database  : Oracle21c,MySQL 9.0,SQL Server 2019,PostgreSQL 17.1 Neo4j* # OS        : window10* Datetime  : 2025 - 2025/10/21 - 20:59* User      : geovindu* Product   : IntelliJ IDEA* Project   : swingdemo* File      : MainWindow.java* explain   : 学习  类**/package com.example.interfaces;import com.example.domain.entity.User;
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;public class MainWindow extends JFrame {private final User currentUser;public MainWindow(User currentUser) {this.currentUser = currentUser;initializeUI();}private void initializeUI() {setTitle("主窗口 - 欢迎," + currentUser.getFullName());setSize(800, 600);setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);setLocationRelativeTo(null);// 创建菜单栏(设置中文字体)JMenuBar menuBar = new JMenuBar();// 为菜单和菜单项设置字体(支持中文)Font menuFont = new Font("SimHei", Font.PLAIN, 14); // 黑体,常规,14号字// 文件菜单JMenu fileMenu = new JMenu("文件");fileMenu.setFont(menuFont); // 设置菜单字体JMenuItem exitItem = new JMenuItem("退出");exitItem.setFont(menuFont); // 设置菜单项字体exitItem.addActionListener(e -> System.exit(0));fileMenu.add(exitItem);menuBar.add(fileMenu);// 编辑菜单JMenu editMenu = new JMenu("编辑");editMenu.setFont(menuFont);JMenuItem cutItem = new JMenuItem("剪切");cutItem.setFont(menuFont);JMenuItem copyItem = new JMenuItem("复制");copyItem.setFont(menuFont);JMenuItem pasteItem = new JMenuItem("粘贴");pasteItem.setFont(menuFont);editMenu.add(cutItem);editMenu.add(copyItem);editMenu.add(pasteItem);menuBar.add(editMenu);// 帮助菜单JMenu helpMenu = new JMenu("帮助");helpMenu.setFont(menuFont);JMenuItem aboutItem = new JMenuItem("关于");aboutItem.setFont(menuFont);aboutItem.addActionListener(this::showAboutDialog);helpMenu.add(aboutItem);menuBar.add(helpMenu);setJMenuBar(menuBar);// 主面板(设置欢迎标签的中文字体)JPanel mainPanel = new JPanel();mainPanel.setLayout(new BorderLayout());JLabel welcomeLabel = new JLabel("欢迎使用系统," + currentUser.getFullName() + "!", SwingConstants.CENTER);// 设置支持中文的字体(黑体,加粗,24号字)welcomeLabel.setFont(new Font("SimHei", Font.BOLD, 24));mainPanel.add(welcomeLabel, BorderLayout.CENTER);add(mainPanel);setVisible(true);}private void showAboutDialog(ActionEvent e) {// 为对话框文本设置中文字体JLabel aboutLabel = new JLabel("<html>系统版本: 1.0<br>作者: DDD示例</html>");aboutLabel.setFont(new Font("SimHei", Font.PLAIN, 14));JOptionPane.showMessageDialog(this,aboutLabel,"关于",JOptionPane.INFORMATION_MESSAGE);}
}

  

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/945761.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

小作业 13(2023 年北京高考圆锥曲线)

椭圆 \(E:\dfrac{x^2}{a^2}+\dfrac{y^2}{b^2}=1\)(\(a>b>0\))的离心率为 \(\dfrac{\sqrt{5}}{3}\),\(A\)、\(C\) 分别为 \(E\) 的上、下顶点,\(B\)、\(D\) 分别为 \(E\) 的左、右顶点,\(|AC|=4\)。点 \(P\)…

DeepSeek-OCR 本地部署实践(适合新手、windows环境)

上效果:结论:windows官方示例仅可转换图片,linux下官方示例可转图片和PDF文件。 原因是转换PDF的代码用到了vllm,vllm仅可在linux系统下部署使用。(仅官方示例,如果自己编写代码进行PDF转图片,并处理多张图片的…

10月24日日记

1.今天学习英语 2.明天出去看博物馆 3.平衡二叉树(AVL、红黑树)为什么需要旋转操作?

2025.10.24总结 - A

今天没课,加油

2025年AI优化:AI优化公司技术实力哪家好

AI优化服务商:解锁企业智能增长的密钥 ——2025年AI优化企业核心实力与实战价值深度解析 AI优化企业如何重构数字竞争生态? 第一部分:AI优化企业排行榜——技术穿透力与商业价值的双重验证 在生成式AI重构商业规则的…

总账系统核心设计 - 智慧园区

在企业数字化转型的浪潮中,总账系统不仅是财务管理的底座,更是业务与财务融合的关键枢纽。本文将从架构设计、数据流动、权限控制等核心维度出发,系统拆解总账系统的设计要义,助力财务信息化从“可用”走向“高效”…

02 MULTI IDE软件安装及新建工程

02 MULTI IDE软件安装及新建工程1.MULTI-IDE简介 MULTI IDE是Green Hills Software提供的一款专业级集成开发环境(Integrated Development Environment),专为嵌入式系统开发设计,配合GHS编译器和调试器,广泛用于汽…

10月24号

今天进行了复习。 晚上进行了外语学习。

10月阅读笔记(3)

《程序员修炼之道:从小工到专家》阅读笔记 作为一名大二计算机专业学生,读《程序员修炼之道》前,我总觉得写代码就是“能跑通功能就行”——课后作业调通逻辑、实验报告凑够代码行数,就算完成任务了。但这本书像给…

使用Python将iOS快照从KTX格式转换为PNG

本文详细介绍了如何通过Python解析iOS设备中存储为KTX格式的应用快照文件,包括LZFSE解压缩、ASTC纹理数据转换等技术细节,并提供了完整的代码实现方案。KTX to PNG in Python for iOS snapshots iOS上的应用快照以KT…

我有一个好主意,既然我之前写了一个AI Vtuber

我有一个好主意,既然我之前写了一个AI Vtuber,那么为什么不直接挪过来替换掉看板娘呢? 还能做到实时共同

python操作pdf的库

import pdf2docx import PyPDF2 import spire 参考: https://www.cnblogs.com/geekbruce/articles/18427413

第二十天

今日专注于数据库核心的增删改查指令学习 写INSERT语句时,体会到“精准”是第一原则——字段名与值必须严格对应,少一个逗号、错一个数据类型,都会让数据无法顺利“入驻”表中,这像给档案柜分类归档,每一份资料都…

AI优化服务商:AI优化公司技术实力榜单

AI优化服务商:解锁智能搜索时代的流量密码 2025年AI优化企业核心价值与行业标杆解析 一、AI优化企业排行榜:技术实力与实战经验的双重验证 在生成式AI重塑搜索生态的2025年,企业竞争已从“关键词堆砌”转向“场景化…

Sentence Transformers

Sentence Transformers https://www.sbert.net/ https://github.com/huggingface/sentence-transformersSentenceTransformers Documentation Sentence Transformers (a.k.a. SBERT) is the go-to Python module for…

2025最新平台,快手刷站自助下单_新站如何用快手刷站服务?

新手做快手最头疼什么?视频发出去半天没播放量,账号像个“隐形人”一样没人看。好多人听说“快手刷站自助下单”能快速破冰,但又怕操作不当导致封号限流。别急,今天咱们就掰开揉碎说说,怎么安全高效地用这些工具,…

免费刷快手粉双击网站,刷粉真的安全吗

你是不是也在找免费刷快手粉双击网站?看到别人账号粉丝蹭蹭涨,自己辛苦拍的视频却没几个人看,心里确实着急啊。但有些朋友想要走这种捷径,又担心会不会有问题,这该怎么办呢?今天咱们就聊聊这个话题,希望能帮到你…

免费24小时业务下单平台哪家靠谱,真的免费吗,如何安全使用

你是不是也在找那种​​真正免费、24小时都能用​​的业务下单平台?特别是做抖音、快手这些短视频的朋友,经常会在深更半夜有个急活儿,或者想趁着流量好的时候赶紧推一把,但很多平台客服下班了,或者收费高得吓人。…