尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
有关监听器的使用步骤
序言在上篇笔记中通过使用图形化编程实现了登录界面的基础搭建但是不能实现注册与登录按钮的交互而监听器则是帮助我们实现该交互功能的重要工具因此在Java编程中监听器占据了重要的地位。什么是监听器监听器就是一个专门等着组件发生动作、动作一出现就自动执行对应代码的工具。它不会主动运行全程被动等待只有用户操作组件点按钮、输文字、勾选框才会触发。监听器的核心原理事件源如:按钮JButton当前动作发生的组件事件对象ActionEvent封装点击事件信息监听器接口ActionListener规范事件的处理方法注接口不能直接创建对象接口的使用步骤1.重新定义类实现接口2.重写接口中的抽象方法监听器实现类重写事件处理方法[actionPerformed()]绑定关系将监听器对象注册到事件源触发动作时自动执行监听器的任务监听器的使用步骤步骤1导入监听器相关头文件步骤2创建监听器实现ActionListener接口步骤3定义监听对象步骤4注册监听器步骤5在监听器重写方法中编写业务逻辑实战操作packagecom.sy.login0812;importjavax.swing.*;importjava.awt.*;publicclassLogin{publicvoidshowUI(){JFramejfnewJFrame();jf.setSize(400,600);jf.setTitle(登陆界面);jf.setLocationRelativeTo(null);jf.setDefaultCloseOperation(3);FlowLayoutflownewFlowLayout();jf.setLayout(flow);ImageIconimagenewImageIcon(C:\\Users\\PC\\Pictures\\Screenshots\\屏幕截图 2026-08-12 182435.png);JLabeljianewJLabel(image);jf.add(jia);JLabelusernewJLabel(账号);jf.add(user);JTextFieldjtfnewJTextField();DimensiondmnewDimension(330,30);jtf.setPreferredSize(dm);jf.add(jtf);JLabeluser1newJLabel(密码);jf.add(user1);JTextFieldjtf1newJTextField();Dimensiondm1newDimension(330,30);jtf1.setPreferredSize(dm1);jf.add(jtf1);JButtonjbunewJButton(登录);jf.add(jbu);ButtonListenerlistenernewButtonListener();jbu.addActionListener(listener);listener.userTextjtf;JButtonjbu1newJButton(注册);jf.add(jbu1);jbu.addActionListener(listener);listener.userText1jtf1;jf.setVisible(true);}publicstaticvoidmain(String[]args){LoginlonewLogin();lo.showUI();}}packagecom.sy.login0812;importjavax.swing.*;importjava.awt.event.ActionEvent;importjava.awt.event.ActionListener;publicclassButtonListenerimplementsActionListener{publicStringname ;publicJTextFielduserText;publicStringname1Sylus0418;publicJTextFielduserText1;publicvoidactionPerformed(ActionEvente){StringuserNameuserText.getText();if(name.equals(userName)){JFramejf1newJFrame();jf1.setSize(200,300);jf1.setTitle(检验);jf1.setLocationRelativeTo(null);//居中显示jf1.setDefaultCloseOperation(3);JLabeluser2newJLabel(登陆成功);jf1.add(user2);jf1.setVisible(true);}else{JFramejf2newJFrame();jf2.setSize(200,300);jf2.setTitle(检验);jf2.setLocationRelativeTo(null);//居中显示jf2.setDefaultCloseOperation(3);JLabeluser3newJLabel(登陆失败);jf2.add(user3);jf2.setVisible(true);}StringuserName1userText1.getText();if(name1.equals(userName1)){JFramejf1newJFrame();jf1.setSize(200,300);jf1.setTitle(检验);jf1.setLocationRelativeTo(null);jf1.setDefaultCloseOperation(3);JLabeluser2newJLabel(登陆成功);jf1.add(user2);jf1.setVisible(true);}else{JFramejf2newJFrame();jf2.setSize(200,300);jf2.setTitle(检验);jf2.setLocationRelativeTo(null);jf2.setDefaultCloseOperation(3);JLabeluser3newJLabel(登陆失败);jf2.add(user3);jf2.setVisible(true);}}}运行结果个人收获总结通过本次对监听器学习我弄懂事件、事件源与监听类的配合逻辑掌握按钮绑定监听的完整流程能独立实现登录校验交互。
RELATED

相关推荐

HOOPS Visualize Web 所支持的平台

HOOPS Visualize Web 所支持的平台

支持的平台 运行时平台支持 HOOPS Visualize Web 二进制文件支持以下平台: 平台建筑学运行时要求支持的操作系统示例视窗x86-64Visual C 2019 或更高版本的可再发行组件包Windows 11、Windows Server 2022 及更高版本Linuxx86-64glibc 2.28 或更高版本Debian 11…

📅 2026/10/4 21:43:44
Electron应用路径管理:app.getPath()核心用法与最佳实践

Electron应用路径管理:app.getPath()核心用法与最佳实践

1. 项目概述:从“找不到文件”到精准掌控路径 如果你正在用 Electron 开发桌面应用,大概率遇到过这类问题:打包后的应用,用户保存的配置文件不知道存哪儿去了;或者你想读取应用自身的日志,却因为开发环境和…

📅 2026/10/4 21:47:12
Cline 对接 MCP 第一天:工具调用把我的 /tmp 扫成了垃圾场

Cline 对接 MCP 第一天:工具调用把我的 /tmp 扫成了垃圾场

Cline 对接 MCP 第一天:工具调用把我的 /tmp 扫成了垃圾场 灰度发布前的技术自信与隐患盲区 周五下班前的决策,成为了我技术生涯中最值得反思的案例之一。那天,我将测试环境的 Cline 系统接入了 MCP(Multi-Cloud Platform)工具调用体系,准备进行灰度发布。这个被官方称为「安全…

📅 2026/9/15 16:17:23
MORE NEWS

更多资讯

📰

企管论文别再“一个 AI 用到黑”:从选题到降重,我的工具分工清单 [特殊字符]

先把场景说具体:假设你是企业管理专业学生,正在做毕业论文——《制造企业数字化转型对服务化绩效的影响:组织敏捷性的中介作用》。 这类题目在企管专业很典型:既要看战略管理、服务化、动态能力等文献,又要设计问卷、…

📰

C# WinForm 下拉框切换窗体样式:主题类与递归遍历控件重绘指南

简介:面向 C# WinForm 开发者的窗体样式风格资源,用于解决桌面应用界面单调、控件美观度不足的问题,常见于管理后台、工具类软件等需要统一打造美观界面的场景,适合初中级开发者参考学习。资源包共 32 个文件,以 cs 源…

📰

格式转换任务为何要关闭思考?JSON 结构化输出场景下的思考死循环实测

格式转换任务为何要关闭思考?JSON 结构化输出场景下的思考死循环实测在现代企业级 AI 应用架构中,大语言模型扮演着越来越重要的“异构数据粘合剂”角色:将前端用户输入的口语化诉求解析为下游微服务可直接消费的 API 参数、从扫描版报销凭证…

📰

端侧 SLM 显存保活术:在 4GB 内存板卡上实现轻量 PagedAttention 与 KV 缓存分块

端侧 SLM 显存保活术:在 4GB 内存板卡上实现轻量 PagedAttention 与 KV 缓存分块在工业自动化控制台、野外工控巡检箱以及边缘网关中,将 1B 到 2B 参数量级的端侧轻量小模型(SLM,如 Qwen2.5-0.5B/1.5B)部署在板载内存仅…

📰

三菱CNC数据采集C#源码解析:从协议到落库的完整实践

简介:工业设备数据采集是智能制造的基础环节,其中CNC数控机床的数据获取尤为关键。三菱CNC系统通信协议复杂(如MC Protocol、EZSocket),让许多工程师在报文结构上遭遇瓶颈。基于TCP Socket的3E帧二进制格式&#xff0c…

📰

8G显存本地跑大模型代码生成:从翻车到落地的完整实操指南

1. 8G 显存这道坎,到底卡在哪儿先把结论摆在前面:8G 显存跑本地大模型做代码生成,能跑,但能跑和好用之间隔着一条很深的沟。我前后折腾了差不多两个月,换过三套方案,最后才找到一个相对稳定的落地姿势。这篇…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬