当前位置: 首页 > news >正文

Java-GUI(登录界面示例)

简述:

步骤:

(1)构造界面(将组件对象加入容器对象,注意:应设定对容器对象的布局策略)

(2)为界面加入事件响应处理(如单击按钮)

实现:

两种方式实现,只有用户名为"admin"且密码为"1129"时才会显示,"admin,欢迎您",否则提示输入错误。

 一般方法
package harper1125.GUI;
import javax.swing.JFrame;
import javax.swing.JTextField;
import javax.swing.JButton;
import java.awt.Color;
import javax.swing.JLabel;
import javax.swing.JPasswordField;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class login01 extends JFrame implements ActionListener{public static void main(String[] args) {new Click_button();}private JButton b_ok,b_exit;private JLabel t_la;//用于显示信息的标签private JTextField userName;//用户文本框private JPasswordField password;//密码框public login01() {super("第一个登陆界面");//设定窗体标题setSize(500, 100);//设定框架宽度和高度setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);setBackground(Color.lightGray);setLocation(300, 240);//指定框架左上角的显示位置,(0,0)表示屏幕的左上角setLayout(new FlowLayout());//指定框架的默认布局方式,/*** 若未指定布局,组件将自动布满整个容器,后面加入的组件回遮盖前面的组件*/userName = new JTextField(5);password = new JPasswordField(5);add(new JLabel("用户名:"));add(userName);add(new JLabel("密码:"));add(password);b_ok = new JButton("确定");add(b_ok);b_exit = new JButton("退出");add(b_exit);t_la = new JLabel(" ");add(t_la);//增加一个临时标签,用来显示信息setVisible(true);/*** 以下建立事件源与处理者之间的关联,两个按钮使用同一个处理者对象*/b_exit.addActionListener(this);//建立关联b_ok.addActionListener(this);}public void actionPerformed(ActionEvent e){//处理者处理事件if(e.getSource()== b_exit){//用e.getSource()识别事件源System.exit(0);}if(e.getActionCommand().equals("确定")){//用另一种方式识别事件源String ketText = String.valueOf(password.getPassword());//获取密码框的文本if(userName.getText().equals("admin") && ketText.equals("1129")){t_la.setText("欢迎您,admin");}else {t_la.setText("用户或密码输入错误!");setVisible(true);//显示临时标签}}}}
界面与事件处理者相分离的方法
package Test.test4;import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;public class login02  {public static void main(String[] args) {login lo = new login();Del de = new Del();lo.setDel(de);de.setLogin(lo);}}class login extends JFrame {JButton b_ok,b_exit;JLabel t_la;//用于显示信息的标签JTextField userName;//用户文本框JPasswordField password;//密码框
public login() {super("第一个登陆界面");//设定窗体标题setSize(500, 100);//设定框架宽度和高度setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);setBackground(Color.lightGray);setLocation(300, 240);//指定框架左上角的显示位置,(0,0)表示屏幕的左上角setLayout(new FlowLayout());//指定框架的默认布局方式,/*** 若未指定布局,组件将自动布满整个容器,后面加入的组件回遮盖前面的组件*/userName = new JTextField(5);password = new JPasswordField(5);add(new JLabel("用户名:"));add(userName);add(new JLabel("密码:"));add(password);b_ok = new JButton("确定");add(b_ok);b_exit = new JButton("退出");add(b_exit);t_la = new JLabel(" ");add(t_la);//增加一个临时标签,用来显示信息setVisible(true);/*** 以下建立事件源与处理者之间的关联,两个按钮使用同一个处理者对象*/}Del del;
public  void setDel(Del l){del = l;b_exit.addActionListener((ActionListener) l);//建立关联b_ok.addActionListener((ActionListener) l);}}class Del implements  ActionListener{//处理者处理事件login l;public void setLogin(login lo){l = lo;}public void actionPerformed(ActionEvent e){if(e.getSource()== l.b_exit){//用e.getSource()识别事件源System.exit(0);}if(e.getActionCommand().equals("确定")){//用另一种方式识别事件源String ketText = String.valueOf(l.password.getPassword());//获取密码框的文本if(l.userName.getText().equals("admin") && ketText.equals("1129")){l.t_la.setText("欢迎您,admin");}else {l.t_la.setText("用户或密码输入错误!");l.setVisible(true);//显示临时标签}}}}

相关文章:

Java-GUI(登录界面示例)

简述: 步骤: (1)构造界面(将组件对象加入容器对象,注意:应设定对容器对象的布局策略) (2)为界面加入事件响应处理(如单击按钮) 实现: 两种方式实现,只有用户名为"admin"且密码为…...

看华为,引入IPD的正确路径

目录 前言 引发重视 作者简介 前言 华为将 IPD 的引入过程归结为三步: 先僵化、后优化、再固化。 如果只是单纯模仿,在不清楚底层逻辑的情况下, 就开始走先僵化的流程,去搞削足适履式的引入。 开始执行后,你就…...

计算机毕业设计Spark+大模型知识图谱中药推荐系统 中药数据分析可视化大屏 中药爬虫 机器学习 中药预测系统 中药情感分析 大数据毕业设计

温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 作者简介:Java领…...

pcb线宽与电流

三十年一路高歌猛进的中国经济, 中国经历了几个三十年? 第一个三十年:以计划为导向。 第二个三十年:以经济为导向。 现在,第三个三十年呢? 应该是以可持续发展为导向。 传统企业摇摇欲坠, 新兴企…...

w~视觉~合集26

我自己的原文哦~ https://blog.51cto.com/whaosoft/12663170 #InternVL 本文设计了一个大规模的视觉-语言基础模型(InternVL),将视觉基础模型的参数扩展到60亿,并逐步与LLM对齐,利用来自不同来源的网络规模的图像-文…...

Qt支持RKMPP硬解的视频监控系统/性能卓越界面精美/实时性好延迟低/录像存储和回放/云台控制

一、前言 之前做的监控系统,已经实现了在windows上硬解码比如dxva2和d3d11va,后续又增加了linux上的硬解vdpau的支持,这几种方式都是跨系统的硬解实现方案,也是就是如果都是windows系统,无论X86还是ARM都通用&#xf…...

【Qt】图片绘制不清晰的问题

背景 实现一个图片浏览器&#xff0c;可以支持放大/缩小查看图片。主要组件如下&#xff1a; // canvaswidget.h #ifndef CANVASWIDGET_H #define CANVASWIDGET_H#include <QWidget>class CanvasWidget : public QWidget {Q_OBJECT public:explicit CanvasWidget(QImag…...

2008年IMO几何预选题第3题

设有两个圆凸内接四边形 A B Q D ABQD ABQD 和 B P Q C BPQC BPQC, 在线段 P Q PQ PQ 上存在一点 E E E, 使得, ∠ E A P ∠ E D Q \angle EAP\angle EDQ ∠EAP∠EDQ, ∠ E B P ∠ E C Q \angle EBP\angle ECQ ∠EBP∠ECQ. 求证: A A A, B B B, C C C, D D D 四点共…...

NAT拓展

NAT ALG&#xff08;NAT应用级网&#xff09; 为某些应用层协议&#xff0c;因为其报文内容可能携带IP相关信息&#xff0c;而普通NAT转化无法将这些IP转化&#xff0c;从而导致协议无法正常运行 例如FTP&#xff0c;DHCP&#xff0c;RSTP&#xff0c;ICMP&#xff0c;IPSEC…...

Flink四大基石之State

State state 可以理解为-- 历史计算结果 有状态计算和无状态计算 无状态计算: 不需要考虑历史数据, 相同的输入,得到相同的输出!如:map, 将每个单词记为1, 进来一个hello, 得到(hello,1),再进来一个hello,得到的还是(hello,1) 有状态计算: 需要考虑历史数据, 相同的输入,可…...

Spacy小笔记:zh_core_web_trf、zh_core_web_lg、zh_core_web_md 和 zh_core_web_sm区别

Spacy小笔记 最近频繁用到spacy&#xff0c;就小记一下。 2024.11.29 zh_core_web_trf、zh_core_web_lg、zh_core_web_md 和 zh_core_web_sm区别 首先&#xff0c;它们都是预训练的中文模型&#xff1a; zh_core_web_trf:395M 架构: 基于 Transformer 架构&#xff08;bert…...

第六届智能控制、测量与信号处理国际学术会议 (ICMSP 2024)

重要信息 2024年11月29日-12月1日 中国陕西西安石油大学雁塔校区 大会官网&#xff1a;www.icmsp.net 大会简介 第六届智能控制、测量与信号处理国际学术会议&#xff08;ICMSP 2024&#xff09;由西安石油大学、中海油田服务股份有限公司、浙江水利水电学院与中国石油装备…...

docker服务容器化

docker服务容器化 1 引言2 多个容器间网络联通2.1 单独创建关联2.2 创建时关联 3 服务搭建3.1 镜像清单3.2 容器创建 4 联合实战4.2 flink_sql之kafka到starrocks4.2 flink_sql之mysql到starrocks 5 文献借鉴 1 引言 ​ 利用docker可以很效率地搭建服务&#xff0c;本文在win1…...

【QT】控件8

1.QDial 通过调节旋钮位置来控制窗口的不透明度&#xff1a; void Widget::on_dial_valueChanged(int value) {qDebug()<<value;this->setWindowOpacity((double)value/100); }效果演示&#xff1a; 2.Date/Time Edit 计算两个日期的差值 ui界面设计 计算按钮按下…...

漫谈推理谬误——错误因果

相关文章 漫谈推理谬误——错误假设-CSDN博客文章浏览阅读736次&#xff0c;点赞22次&#xff0c;收藏3次。在日常生活中&#xff0c;我们会面临各种逻辑推理&#xff0c;有些看起来一目了然&#xff0c;有些非常的科学严谨&#xff0c;但也有很多似是而非&#xff0c;隐藏了陷…...

【数据结构】队列实现剖析:掌握队列的底层实现

在计算机科学中&#xff0c;**队列&#xff08;Queue&#xff09;**是一种常见的数据结构&#xff0c;它遵循先进先出&#xff08;FIFO&#xff0c;First In First Out&#xff09;的原则。队列的应用非常广泛&#xff0c;例如任务调度、资源管理、进程通信等。本篇文章旨在为计…...

【C++】IO库(二):文件输入输出

8.2 文件输入输出 头文件 fstream 定义了三个类型来之支持文件IO&#xff0c;分别是&#xff1a; ifstream&#xff1a;从一个给定文件读取数据&#xff1b;ofstream&#xff1a;向一个给定文件写入数据&#xff1b;fstream&#xff1a;读写给定文件。 在 C 当中&#xff0c…...

105.【C语言】数据结构之二叉树求总节点和第K层节点的个数

目录 1.求二叉树总的节点的个数 1.容易想到的方法 代码 缺陷 思考:能否在TreeSize函数内定义静态变量解决size的问题呢? 其他写法 运行结果 2.最好的方法:分而治之 代码 运行结果 2.求二叉树第K层节点的个数 错误代码 运行结果 修正 运行结果 其他写法 1.求二…...

力扣637. 二叉树的层平均值

给定一个非空二叉树的根节点 root , 以数组的形式返回每一层节点的平均值。与实际答案相差 10-5 以内的答案可以被接受。 提示&#xff1a; 树中节点数量在 [1, 104] 范围内-231 < Node.val < 231 - 1 代码&#xff1a; /*** Definition for a binary tree node.* stru…...

【前端】Next.js 服务器端渲染(SSR)与客户端渲染(CSR)的最佳实践

关于Next.js 服务器端渲染&#xff08;SSR&#xff09;与客户端渲染&#xff08;CSR&#xff09;的实践内容方面&#xff0c;我们按下面几点进行阐述。 1. 原理 服务器端渲染 (SSR): 在服务器上生成完整的HTML页面&#xff0c;然后发送给客户端。这使得用户在首次访问时能够…...

Step3-VL-10B部署案例:金融APP界面自动化测试,覆盖85%人工回归用例

Step3-VL-10B部署案例&#xff1a;金融APP界面自动化测试&#xff0c;覆盖85%人工回归用例 1. 项目背景与痛点 金融APP的每一次版本更新&#xff0c;都伴随着一场紧张的回归测试。测试团队需要反复验证登录、转账、理财购买、账单查询等几十个核心功能&#xff0c;确保新代码…...

Win11Debloat:终极Windows系统清理工具,一键提升电脑性能的完整指南

Win11Debloat&#xff1a;终极Windows系统清理工具&#xff0c;一键提升电脑性能的完整指南 【免费下载链接】Win11Debloat 一个简单的PowerShell脚本&#xff0c;用于从Windows中移除预装的无用软件&#xff0c;禁用遥测&#xff0c;从Windows搜索中移除Bing&#xff0c;以及执…...

别再只懂概念了!用JSEncrypt库5分钟搞定前端RSA密码加密实战

前端RSA加密实战&#xff1a;用JSEncrypt保护用户密码传输安全 1. 为什么前端需要加密&#xff1f; 在Web应用开发中&#xff0c;用户登录是最基础也最敏感的操作之一。传统表单提交直接将密码以明文形式发送到服务器&#xff0c;这在网络传输过程中存在被截获的风险。即使使…...

LongCat-Image-Editn部署案例:中小企业低成本AI修图方案,替代Photoshop高频操作

LongCat-Image-Editn部署案例&#xff1a;中小企业低成本AI修图方案&#xff0c;替代Photoshop高频操作 重要提示&#xff1a;本文所有操作均在合规合法的网络环境下进行&#xff0c;所有技术方案均符合相关法律法规要求。 1. 引言&#xff1a;中小企业修图痛点与解决方案 对于…...

B站视频下载工具终极指南:3分钟快速上手,轻松保存你喜欢的每一帧画面

B站视频下载工具终极指南&#xff1a;3分钟快速上手&#xff0c;轻松保存你喜欢的每一帧画面 【免费下载链接】BiliTools A cross-platform bilibili toolbox. 跨平台哔哩哔哩工具箱&#xff0c;支持视频、音乐、番剧、课程下载……持续更新 项目地址: https://gitcode.com/G…...

OpenClaw多任务调度:GLM-4.7-Flash并行处理文件与邮件

OpenClaw多任务调度&#xff1a;GLM-4.7-Flash并行处理文件与邮件 1. 为什么需要多任务调度 上周我需要同时处理两个紧急任务&#xff1a;整理三个月积累的会议录音文字稿&#xff0c;以及给二十多位合作伙伴发送定制化跟进邮件。手动操作需要至少6小时&#xff0c;而第二天早…...

OpCore-Simplify:实现OpenCore EFI自动化生成的黑苹果配置解决方案

OpCore-Simplify&#xff1a;实现OpenCore EFI自动化生成的黑苹果配置解决方案 【免费下载链接】OpCore-Simplify A tool designed to simplify the creation of OpenCore EFI 项目地址: https://gitcode.com/GitHub_Trending/op/OpCore-Simplify 副标题&#xff1a;告别…...

ChatClient 全家桶保姆级博客讲解

最近 Spring AI 迭代很快&#xff0c;从原来的 ChatModel 转向了更易用的 ChatClient API。如果你看到这串名词&#xff1a;ChatClient、default、Options、Functions、Tools、System&User、Advisors&#xff0c;肯定会说好多名词啊。不急&#xff0c;慢慢来。一、先搞懂&a…...

深入剖析大数据领域数据分片的优缺点

深入剖析大数据领域数据分片的优缺点 关键词&#xff1a;数据分片、大数据架构、分片策略、水平扩展、分布式系统 摘要&#xff1a;在大数据时代&#xff0c;单台服务器已无法承载海量数据的存储与计算需求&#xff0c;数据分片&#xff08;Sharding&#xff09;作为分布式系统…...

深度 | 电子材料研发(光刻胶/OLED等)迈入智能时代,当电子材料研发进入“GPT时代”,企业该如何重构创新引擎?

【电子材料系列专题1】在半导体、显示、先进封装与电子化学品领域&#xff0c;材料始终决定性能上限。无论是光刻胶、OLED发光材料、封装胶&#xff0c;还是高纯电子特气&#xff0c;随着制程逼近纳米乃至埃米级节点&#xff0c;热力学稳定性、光化学反应精度、流变特征和痕量杂…...