java实用教程——组件及事件处理——ActionEvent事件

事件源:
文本框,按钮,菜单项,密码框,单选按钮
注册监视器:
能够触发ActionEvent事件的组件使用方法
addActionListener(ActionListener listener)
处理事件接口:
ActionListener接口中只有一个方法
public void actionPerformed(ActionEvent e)
事件触发ActionEvent事件后,监视器调用接口中的方法actionPerformed(ActionEvent e)对发生的事件做出处理

ActionEvent类中的方法:
ActionEvent类有如下常用方法
public Object getSource() 可以获取发生ActionEvent事件的事件源对象的引用

public String getActionCommand() 和该事件相关的一个“命令”字符串,对于文本框,当发生ActionEvent事件是,默认的“命令”字符串是文本框中的文本

主类

public class Example9_6 {public static void main(String args[]) {WindowActionEvent win=new WindowActionEvent();win.setBounds(100,100,310,260);win.setTitle("处理ActionEvent事件");}}

实现监视器的类

import java.awt.*;
import java.awt.event.*;
public class ReaderListen implements ActionListener{public void actionPerformed(ActionEvent e){String str = e.getActionCommand();System.out.println(str+":"+str.length());}}
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
public class WindowActionEvent extends JFrame  {TextField text;ActionListener listener;public WindowActionEvent() {setLayout(new FlowLayout());init();setVisible(true);setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);}void init() {text = new TextField(10);listener = new ReaderListen();text.addActionListener(listener);this.add(text);}
}

在这里插入图片描述
在这里插入图片描述

public class Example9_7 {public static void main(String args[]) {WindowActionEvent win=new WindowActionEvent();PoliceListen police = new PoliceListen();//创建监视器win.setMyCommandListener(police);//窗口组合监视器win.setBounds(100,100,310,260);win.setTitle("处理ActionEvent事件");}}
import javax.swing.*;
import java.awt.event.*;//实现这些事件处理必须要有这个包eventpublic interface MyCommandListener extends ActionListener{public void setTextField(JTextField text);public void setJTextArea(JTextArea area);
}
import javax.swing.*;import java.awt.event.*;
public class PoliceListen implements MyCommandListener{JTextField textinput;JTextArea textshow;public void setTextField(JTextField text){textinput=text;}public void setJTextArea(JTextArea area){textshow=area;}public void actionPerformed(ActionEvent e){String str = textinput.getText();textshow.append(str+":"+str.length()+"\n");}}
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
public class WindowActionEvent extends JFrame  {JTextField text;//文本区JTextArea textshow;//用于输出的文本框JButton  button;MyCommandListener listener;//监视器public WindowActionEvent() {init();setVisible(true);setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);}void init() {setLayout(new FlowLayout());//设置布局text = new JTextField(10);textshow = new JTextArea(9,30);button = new JButton("确定");       this.add(text);this.add(new JScrollPane(textshow));//设置为滚动窗格this.add(button);}void setMyCommandListener(MyCommandListener listener){this.listener=listener;listener.setTextField(text);listener.setJTextArea(textshow);text.addActionListener(listener);//text是事件源,listener是监视器button.addActionListener(listener);//button是事件源,listener是监视器}
}

在这里插入图片描述

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

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

相关文章

【Azure Show】|第七期 特别版线上沙龙直播回顾. 嘉宾张坤段清华谭国欣柯克黄炜锵...

我是MVP 继与广州图书馆合作推出【搭上AI快车】在线公益课堂和大家分享了基于移动应用的人工智能开发经验后,本期继续与广州图书馆合作,邀请更多的微软技术专家,推出我们Azure Show节目的特别版,为大家带来各IT技术领域的经验分享…

java实用教程——组件及事件处理——ItemEvent事件(设置字体类型)

ItemEvent事件源: 选择框,下拉列表都可以触发ItemEvent事件 注册监视器: 能够触发ItemEvent事件的组件使用addItemListener(ItemListener listen) 将实现ItemListener的接口的类的实例注册为事件源的监视器 ItemListener接口: 接口…

理解 redis 中的 哈希对象类型

redis中的hash也是我们使用中的高频数据结构,它的构造基本上和编程语言中的HashTable,Dictionary大同小异,如果大家往后有什么逻辑需要用Dictionary存放的话,可以根据场景优先考虑下redis哦,起码可以装装嘛&#xff0c…

java实用教程——组件及事件处理——DocumentEvent事件

DocumentEvent事件源: 文本区Document的维护 注册监视器: 使用addDocumentListener(DocumentListener listen)为事件源添加监视器 DocumentListener接口: 接口中有三个方法: public void changUpdate(DocumentEvent e); public vo…

prometheus-net.DotNetRuntime 获取 CLR 指标原理解析

prometheus-net.DotNetRuntime 介绍Intro前面集成 Prometheus 的文章中简单提到过,prometheus-net.DotNetRuntime 可以获取到一些 CLR 的数据,比如说 GC, ThreadPool, Contention, JIT 等指标,而这些指标可以很大程度上帮助我们解决很多问题&…

错误代码1500什么意思_啊早安打工人是什么梗???

早安打工人是什么梗?最近打工人这个词成为了大家口中最为常见的一个词语,打工人的爆火也引起了很多人的关注,这样一个词语在很多人看来很有可能还有点嘲讽的含义,却突然火遍全网,究竟打工人是什么梗?看起来…

java实用教程——组件及事件处理——MouseEvent事件

MouseEvent事件 任何组件上都可以发生鼠标事件,如鼠标进入组件、退出组件、在组件上方单击鼠标、拖动鼠标等都触发鼠标事件,即导致MouseEvent类自动创建一个 事件对象,事件源注册监视器的方法是addMouseListener(MouseListener listener); …

这个世界,正在悄悄惩罚那些不注意身体的人

这是头哥侃码的第226篇原创上周四,整个网络被 “马拉多纳去世” 的消息刷屏了。虽然我从不看足球,而且没有看过马拉多纳踢球,但关于他的故事、他的传奇、他的丰功伟绩,倒是听过不少。所以在听到这个消息的时候,我感到深…

tcp拥塞控制_网络TCP的拥塞控制算法简介

作为网络中使用最广泛的传输协议,TCP的拥塞控制机制是学术界和工业界关注的焦点问题之。然而,目前广泛使用的TCP传输协议的拥塞控制算法仍然使用相对固定的窗口调节策略,无法根据动态变化的场景自适应地调整参数,从而造成不可避免…

java实用教程——组件及事件处理——对话框(消息对话框,输入对话框,确认对话框)

消息对话框:(这个对话框提供一些信息) 无模式:可多线程的执行 有模式:用户必须处理这个一个对话框。必须解决这个问题后才可以继续相处下去 对话框分为无模式和有模式两种。如果一个对话框 是有模式的对话框,那么当这个对话框处于…

11张图演进SeviceMesh服务网格

本周和大家聊聊架构进化史-大家可文末扫码加入随着互联网持续高歌猛进,相关技术名词也是层出不穷,ServiceMesh服务网格这两年尤为火爆,然而很少有讲清楚的文章。笔者这里用心整理了一篇文章,用11张图演绎ServiceMesh的进化历程&am…

java实用教程——组件及事件处理——对话框(颜色对话框,自定义对话框)

颜色对话框: 可以用javax.swing包中的JColorChooser类的静态方法 public staticColorshowDialog (Component component, String title, Color initialColor) 创建一个有模式的颜色对话框,其中参数component指定颜色对话框可见时的位置,颜色对…

.NET Core/.NET 5.0 析构函数依然有效?

【导读】最近看到小伙伴在.NET Core中用到了析构函数,不禁打一疑问,大部分情况下,即使在.NET Framework中都不会怎么用到析构函数,我想在.NET Core中是否还依然有效呢?随着时间推移,迭代版本更新&#xff0…

java实用教程——常用实用类——String类(字符串类)

JAVA把String类定义为final类(因此用户不能扩展String类,即String类不可以有子类) String对象可以用""进行并置运算 identityHashCode会返回对象的hashCode,而不管对象是否重写了hashCode方法。 public class Example8_1 {public static void…

sqlserver 事务日志 异常增长原因排查_小白入门学习打日志

前言只有光头才能变强。文本已收录至我的GitHub仓库,欢迎Star:https://github.com/ZhongFuCheng3y/3y记得之前写过一篇:《阿里巴巴 Java开发手册》读后感,之前自学时由于没怎么接触过打“日志”,所以《手册》中的“日志…

在 k8s 中部署 Prometheus 和 Grafana

部署 Prometheus 和 Grafana 到 k8sIntro上次我们主要分享了 asp.net core 集成 prometheus,以及简单的 prometheus 使用,在实际在 k8s 中部署的时候就不能在使用前面讲的静态配置的方式来部署了,需要使用 Prometheus 的服务发现。部署规划Pr…

EntityFramework Core 5.0 VS SQLBulkCopy

【导读】EF Core 5.0伴随着.NET 5.0发布已有一段时日,本节我们来预估当大批量新增数据时,大概是多少区间我们应该考虑SQLBulkCopy而不是EF CoreSQLBulkCopy早出现于.NET Framework 2.0,将数据批量写入利用此类毫无疑问最佳,虽其来…

小心使用 Task.Run 续篇

关于前两天发布的文章:为什么要小心使用 Task.Run,对文中演示的示例到底会不会导致内存泄露,给很多人带来了疑惑。这点我必须向大家道歉,是我对导致内存泄漏的原因没描述和解释清楚,也没用实际的示例证实,是…

java实用教程——组件及事件处理——设置组件的位置(相对于窗口具体位置和布局)

1: 相对于窗口的具体位置 关键点: JButton组件添加到JPanel时,如果想自己位置,需要对JPanel进行如下设置,才能自定义按钮位置 需要将组件添加到画板上去,才可以设置组件的相对具体位置 button1.setBounds…

usb接口定义引脚说明_PerfDogService使用说明

令牌申请教程:https://bbs.perfdog.qq.com/article-detail.html?id55安装包下载:https://perfdog.qq.com/sdk一、 概述PerfDog性能狗服务组件,用户可基于service组件二次开发自己PerfDog性能工具或自动化服务。本文档主要对PerfDogService提…