当前位置: 首页 > 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;然后发送给客户端。这使得用户在首次访问时能够…...

路径规划之启发式算法之一:A-Star(A*)算法

A*算法是一种启发式搜索算法&#xff0c;常用于解决路径规划问题。 一、A*算法的定义与原理 A*算法是一种用于在图形或网格中查找最短路径的算法。它在搜索过程中综合考虑了每个节点的实际距离&#xff08;g值&#xff09;和预估距离&#xff08;h值&#xff09;&#xff0c;以…...

Android复习代码1-4章

public class RudioButton extends AppCompatActivity {Overrideprotected void onCreate(Nullable Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_rudio_button);// 找到RadioGroup和TextView的实例RadioGroup radioGrou…...

【问题】webdriver.Chrome()设置参数executable_path报不存在

场景1: 标红报错unresolved reference executable_path 场景2: 执行报错TypeError: __init__() got an unexpected keyword argument executable_path 原因&#xff1a; 上述两种场景是因为selenium4开始不再支持某些初始化参数。比如executable_path 解决&#xff1a; 方案…...

win10系统安装docker-desktop

1、开启Hyper-v ———————————————— Hyper-V 是微软提供的一种虚拟化技术&#xff0c;它允许你在同一台物理计算机上运行多个独立的操作系统实例。这种技术主要用于开发、测试、以及服务器虚拟化等领域。 —————————————————————— &#…...

小程序-基于java+SpringBoot+Vue的乡村研学旅行平台设计与实现

项目运行 1.运行环境&#xff1a;最好是java jdk 1.8&#xff0c;我们在这个平台上运行的。其他版本理论上也可以。 2.IDE环境&#xff1a;IDEA&#xff0c;Eclipse,Myeclipse都可以。推荐IDEA; 3.tomcat环境&#xff1a;Tomcat 7.x,8.x,9.x版本均可 4.硬件环境&#xff1a…...

组件A底部栏(position: fixed )事件使用$emit更新内容失败bug解决

今天遇到一个很离奇的bug&#xff0c;记录一下 问题&#xff1a;在组件内底部栏使用$emit触发按钮事件但打印出来的值是初始化的值&#xff0c;更新的值被重置导致更新失败 原因&#xff1a;组件内底部使用了 position: fixed; 固定&#xff0c; 导致组件内插槽 this 与 保存按…...

数据结构——排序第三幕(深究快排(非递归实现)、快排的优化、内省排序,排序总结)超详细!!!!

文章目录 前言一、非递归实现快排二、快排的优化版本三、内省排序四、排序算法复杂度以及稳定性的分析总结 前言 继上一篇博客基于递归的方式学习了快速排序和归并排序 今天我们来深究快速排序&#xff0c;使用栈的数据结构非递归实现快排&#xff0c;优化快排&#xff08;三路…...

C++的类功能整合

1. 类的基本概念 类是面向对象编程的核心&#xff0c;它封装了数据和操作数据的函数。 #include <iostream> using namespace std;class MyClass { public:int publicData;void publicFunction() {cout << "Public function" << endl;}private:i…...

《String类》

目录 一、定义与概述 二、创建字符串对象 2.1 直接赋值 2.2 使用构造函数 三、字符串的不可变性 四、常用方法 4.1 String对象的比较 4.1.1 比较是否引用同一个对象 4.1.2 boolean equals(Object anObject)方法&#xff1a;按照字典序比较 4.1.3 int compareTo(Strin…...

【docker】docker的起源与容器的由来、docker容器的隔离机制

Docker 的起源与容器的由来 1. 虚拟机的局限&#xff1a;容器的需求萌芽 在 Docker 出现之前&#xff0c;开发和部署软件主要依赖虚拟机&#xff08;VMs&#xff09;&#xff1a; 虚拟机通过模拟硬件运行操作系统&#xff0c;每个应用程序可以运行在自己的独立环境中。虽然虚…...

做水暖的网站/百度seo优化技巧

在过去十分冷门的数据科学家(Data Scientist)转眼变成抢手货 综合媒体报道&#xff0c;在过去十分冷门的数据科学家(Data Scientist)&#xff0c;近年已成为零售业、银行业、重型设备制造商&#xff0c;甚至婚姻介绍所争相雇用的新宠儿&#xff0c;纷纷寻找或训练这类有能力由网…...

黄埔做网站要多少钱/品牌策划案例

在这里&#xff0c;我有必要再为大家科普一下鸿蒙操作系统。鸿蒙操作系统是一个远比安卓、iOS更基础的系统。除了大家已经看到的HiCar之外&#xff0c;另一个搭载鸿蒙操作系统的就是华为和荣耀的智慧屏产品。此时大家就应该明白&#xff0c;鸿蒙系统并非是一个专门用于手机、专…...

政府单位官方网站建设/渠道推广有哪些方式

1.什么是索引 索引是一种特殊的数据库结构&#xff0c;有数据表中的一列或者多列组合而成&#xff0c;可以快速查询数据表中的值&#xff0c;相当于图书的目录&#xff0c;根据目录的页码快速找到所需内容 2.建立索引的原则 查询更快&#xff0c;占用空间小 1.定义主键的…...

wordpress回复经典编辑器/旅游最新资讯

引言 自从下定决心认真学习机器学习理论开始&#xff0c;接触到很多基本问题&#xff0c;但其实都不是很理解&#xff0c;比如损失函数、风险函数、经验结构最小化、结构风险最小化、学习方法的泛化能力、VC维等&#xff0c;这些概念在学习中都纯属空泛的概念存在&#xff0c;我…...

网站建设商城建设/百度网盘网站入口

SecureCRT是一款IT人员最常用的终端仿真程序软件&#xff0c;简单的说就是我们在自己的笔记本或电脑Windows操作系统下&#xff0c;可以通过SecureCRT连接到网络设备或者远程登录到Linux服务器从而进行相关的配置管理操作。下面介绍一下SecureCRT这款软件的基本使用方法和及一些…...

长安网站建设制作价格/seo搜索引擎优化关键词

经常需要将数据进行序列化和反序列化操作&#xff08;即保存和存储&#xff09;&#xff0c;于是做一整理&#xff0c;直接上代码&#xff1a;pickle.load()和pickle.dump() import pickle# 将数据序列化,注意存储和读取都需要以为二进制形式 sample [1, 2, 3] file open(./…...