• 关于 事件注册 的搜索结果

回答

1. Java事件处理三要素: 1) 事件源(Event Source):即事件发生的场所,就是指各个组件,如按钮等,点击按钮其实就是组件上发生的一个事件; 2) 事件(Event):事件封装了组件上发生的事情,比如按钮单击、按钮松开等等; 3) 事件监听器(Event Listener):负责监听事件源上发生的特定类型的事件,当事件到来时还必须负责处理相应的事件; 2. 事件处理的机制: 1) 首先事件是有不同的类别的,比如按钮单击、菜单项单击等事件就属于“动作事件”(Action Event),而关闭窗口、最小化窗口等事件就属于“窗口事件”(Window Event); 2) 不同类型的事件需要用不同类型的监听器监听; 3) 而监听器是一种类对象,这种类必须实现监听器接口(Listener),对于监听不同类型的事件AWT库准备了不同类型的监听器接口,比如要监听动作事件就必须实现ActionListener接口,监听窗口事件就必须实现WindowListener接口; !监听器中最重要的就是事件处理方法了,监听器必须在接受事件之后进行处理(响应); 4) 如何实现监听? i. 首先事件源(发生事件的组件)必须同意我身上发生的事件允许那些监听器监听; ii. 也就是说想监听它身上发生的事件的监听器必须到它这里注册,即组件必须调用方法addXxxListener将监听器注册到它的监听器列表中; iii. 当事件发生时就会将事件对象(Event)发送到所有注册过的监听器那里进行处理; 5) 事件源、事件、监听器的对应关系: i. 首先一个事件源可以产生多种类型的事件,比如窗口右上角的×按钮,当单击它时就会产生两种类型的事件,一个是按钮单击事件(属于Action Event),另一个是窗口关闭事件(属于Window Event); ii. 监听器接口是什么类型就发送什么类型的事件:如果注册的监听器实现的是ActionEvent的接口,那么上述×按钮就只发送按钮单击事件给它而不会发送窗口关闭事件,除非监听器同时实现了两种类型的接口,那么该监听器就会同时受到两种类型的事件; iii. 一个事件源可以注册多个监听器:一般符合逻辑的编程思想就是不同监听器监听、处理不同类型的事件,因此对于可以产生多种类型事件的事件源会注册多种类型的监听器,分别负责处理产生的多种事件; !!当然一个事件源也可以注册多个相同类型的监听器,即比对于同一个事件(按钮单击),事件源注册多个实现ActionListener接口的监听器,那么这些监听器都会受到该事件,可能会疑问,这不是多此一举吗?一种事件就给出一种处理不是很好吗?那是因为有些情况下可能需要一个事件触发多种动作,每个监听器负责实现一个动作; iv. 一个监听器可以监听多个事件源上的事件,即多个不同的组件用addXxxListener方法注册同一个监听器,那么当不同事件到来时监听器会调用其不同方法进行处理,或者在一个方法内部判断传进来的是什么事件,再进行特殊的处理; 3. 编写事件处理程序的基本流程: 1) 首先需要实现监听器类:自己编写一个类,至少要实现一种类型的监听器接口,并实现接口中所有的事件处理方法; 2) 创建组件,并对组件注册响应的监听器:首先需要创建监听器对象,将监听器对象作为参数传入组件的addXxxListener方法完成注册; 3) 全部工作完成,事件的处理完全自动进行; 4) 简单的示例:处理一个按钮的单击事件 [java] view plain copy public class AwtTest { Frame f = new Frame("Event Test"); TextField tf = new TextField(30); Button ok = new Button("OK"); class OkListener implements ActionListener { @Override public void actionPerformed(ActionEvent e) { // TODO Auto-generated method stub System.out.println("OK button pushed!"); tf.setText("Hello!"); } } public void init() { f.add(tf); f.add(ok, BorderLayout.SOUTH); ok.addActionListener(new OkListener()); f.pack(); f.setVisible(true); } public static void main(String[] args) { new AwtTest().init(); } } !!完全按照讲述的顺序进行; !直接设置编辑框内文本的方法:void TextField.setText(String text); 4. 事件源-监听器多对多示例: [java] view plain copy public class AwtTest { Frame f = new Frame("Multiple Event Test"); TextArea ta = new TextArea(6, 40); Panel p = new Panel(); Button btn1 = new Button("button1"); Button btn2 = new Button("button2"); class Listener1 implements ActionListener { @Override public void actionPerformed(ActionEvent e) { // TODO Auto-generated method stub ta.append("Listener1 be activated! Event Source:" + e.getActionCommand() + "\n"); } } class Listener2 implements ActionListener { @Override public void actionPerformed(ActionEvent e) { // TODO Auto-generated method stub ta.append("Listener2 be activated! Event Source:" + e.getActionCommand() + "\n"); } } public void init() { f.add(ta); p.add(btn1); p.add(btn2); f.add(p, BorderLayout.SOUTH); Listener1 l1 = new Listener1(); Listener2 l2 = new Listener2(); btn1.addActionListener(l1); btn2.addActionListener(l1); btn2.addActionListener(l2); f.pack(); f.setVisible(true); } public static void main(String[] args) { new AwtTest().init(); } } !可以看到按钮2可以同时触发两个监听器,输出两条消息,而监听器1同时监听并处理了两个按钮的消息;

1668934001470375 2019-12-02 01:02:20 0 浏览量 回答数 0

问题

Qap注册事件,在h5触发会失败

lisenhua 2019-12-01 19:59:28 1182 浏览量 回答数 1

回答

回 楼主(ocean2015) 的帖子 通讯录事件变更调用回调接口时,以前遇到过注册回调接口未成功,在增加/删除员工时未回调接口的情况,要确保注册回调接口成功,http://ddtalk.github.io/dingTalkDoc/#注册事件回调接口; 如果注册成功,是否方便将注册事件回调接口参数及返回值提供一下;将查询事件回调接口参数及返回值提供一下,便于查问题,谢谢亲的支持

竹梅 2019-12-02 01:37:44 0 浏览量 回答数 0

新用户福利专场,云服务器ECS低至102元/年

新用户专场,1核2G 102元/年起,2核4G 699.8元/年起

回答

使用回调接口,要先注册事件回调,即调用"注册事件回调接口";详见: http://g.alicdn.com/dingding/opendoc/docs/_server/tab6.html?t=1467087383529#注册事件回调接口 如果注册时间回调接口成功的话,可使用"查询事件回调接口",查询下结果,看看是否正常

竹梅 2019-12-02 02:14:03 0 浏览量 回答数 0

问题

钉钉注册签到事件验证成功,签到事件无回调。

戌君 2019-12-01 21:51:38 887 浏览量 回答数 1

回答

Re钉钉注册签到事件验证成功,签到事件无回调。   要愁死我了! ------------------------- Re钉钉注册签到事件验证成功,签到事件无回调。 还没找到原因,有没有专业人士啊

戌君 2019-12-02 00:54:18 0 浏览量 回答数 0

回答

Re钉钉注册签到事件验证成功,签到事件无回调。   要愁死我了! ------------------------- Re钉钉注册签到事件验证成功,签到事件无回调。 还没找到原因,有没有专业人士啊

戌君 2019-12-02 00:54:18 0 浏览量 回答数 0

问题

关于注册事件回调接口,每个CorpId只能注册一个回调URL吗?

小林饺子 2019-12-01 22:05:05 3102 浏览量 回答数 1

问题

xBus使用指南

妙正灰 2019-12-01 21:01:55 7252 浏览量 回答数 2

问题

java注册事件有什么用

云计算小粉 2019-12-01 19:56:44 614 浏览量 回答数 1

问题

swing代码的优化。

蛮大人123 2019-12-01 20:03:05 910 浏览量 回答数 1

回答

首先,手机中处理触摸事件的是硬件系统进程 ,当硬件系统进程识别到触摸事件后,会将这个事件进行封装,并通过machPort,将封装的事件发送给当前活跃的APP进程。由于APP的主线程中runloop注册了这个machPort端口,就是用于接收处理这个事件的,所以这里APP收到这个消息后,开始寻找响应链。寻找到响应链后,开始分发事件,它会优先发送给手势集合,来过滤这个事件,一旦手势集合中其中一个手势识别了这个事件,那么这个事件将不会发送给响应链对象。手势没有识别到这个事件,事件将会发送给响应链对象UIResponser。 参考这篇文章

montos 2020-04-13 20:45:10 0 浏览量 回答数 0

回答

Re事件回调接口能否注册多个,像多个ISV提供的第三方应用推送更新信息 可以的,事件回调注册是基于ISVtoken,对应到某一个套件,只要这个套件包含这个微应用,就可以将事件推送到这些微应用上

钉钉剑桥 2019-12-02 00:31:09 0 浏览量 回答数 0

回答

target.removeEventListener(type, listener[, useCapture]) 参数解释: type: 一个字符串,表示需要移除的事件类型,如 "click"。 listener: 需要移除的 EventListener 函数(先前使用 addEventListener 方法定义的) useCapture: 可选 指定需要移除的 EventListener 函数是否为事件捕获。如果无此参数,默认值为 false。 如果同一个监听事件分别为“事件捕获”和“事件冒泡”注册了一次,一共两次,这两次事件需要分别移除。两者不会互相干扰。

智珏 2019-12-02 00:52:51 0 浏览量 回答数 0

回答

Java的Selector调用操作系统层的Multiplexing IO(多路复用模型),本身只是个API调用。而多路复用是这个样子的:• I/O multiplexing 这里面的 multiplexing 指的其实是在单个线程通过记录跟踪每一个Sock(I/O流)的状态(对应空管塔里面的Fight progress strip槽)来同时管理多个I/O流. 而这段点代码SelectionKey key = channel.register(selector, SelectionKey.OP_READ); register()方法的第二个参数,这是一个”interest集合“,意思是在通过Selector监听Channel时对什么事件感兴趣. 可以监听四种不同类型的事件: Connect Accept Read Write 通道触发了一个事件意思是该事件已经就绪。所以,某个channel成功连接到另一个服务器称为”连接就绪“。一个server socket channel准备好接收新进入的连接称为”接收就绪“。一个有数据可读的通道可以说是”读就绪“。等代写数据的通道可以说是”写就绪“。 只要ServerSocketChannel及SocketChannel向Selector注册了特定的事件,Selector就会监控这些事件是否发生。SelectableChannel的register()方法返回一个SelectionKey对象,该对象是用于跟踪这些被注册事件的句柄。在执行Selector的select()方法时,如果与SelectionKey相关的事件发生了,这个SelectionKey就被加入到selected-keys集合中,程序直接调用selected-keys集合的remove()方法,或者调用它的iterator的remove()方法,都可以从selected-keys集合中删除一个SelectionKey对象。 通过调用某个SelectionKey的cancel()方法,关闭其通道,或者通过关闭其选择器来取消该Key之前,它一直保持有效。取消某个Key之后不会立即从Selector中移除它,相反,会将该Key添加到Selector的已取消key set,以便在下一次进行选择操作的时候移除它。所以简单来说,上面的那个selectionKey就是一种注册事件,而每一种事件对应着这个连接的一种状态,多路复用模型会检查每个连接所对应的状态,如果达到其中的一种状态,就会触发对应的事件处理逻辑。

景凌凯 2020-04-24 23:39:32 0 浏览量 回答数 0

回答

submit(function)是向submit事件注册事件处理函数而不会触发submit事件

杨冬芳 2019-12-02 02:53:41 0 浏览量 回答数 0

回答

Java的Selector调用操作系统层的Multiplexing IO(多路复用模型),本身只是个API调用。而多路复用是这个样子的: I/O multiplexing 这里面的 multiplexing 指的其实是在单个线程通过记录跟踪每一个Sock(I/O流)的状态(对应空管塔里面的Fight progress strip槽)来同时管理多个I/O流. 而这段点代码SelectionKey key = channel.register(selector, SelectionKey.OP_READ); register()方法的第二个参数,这是一个”interest集合“,意思是在通过Selector监听Channel时对什么事件感兴趣. 可以监听四种不同类型的事件: Connect Accept Read Write 通道触发了一个事件意思是该事件已经就绪。所以,某个channel成功连接到另一个服务器称为”连接就绪“。一个server socket channel准备好接收新进入的连接称为”接收就绪“。一个有数据可读的通道可以说是”读就绪“。等代写数据的通道可以说是”写就绪“。 只要ServerSocketChannel及SocketChannel向Selector注册了特定的事件,Selector就会监控这些事件是否发生。SelectableChannel的register()方法返回一个SelectionKey对象,该对象是用于跟踪这些被注册事件的句柄。在执行Selector的select()方法时,如果与SelectionKey相关的事件发生了,这个SelectionKey就被加入到selected-keys集合中,程序直接调用selected-keys集合的remove()方法,或者调用它的iterator的remove()方法,都可以从selected-keys集合中删除一个SelectionKey对象。 通过调用某个SelectionKey的cancel()方法,关闭其通道,或者通过关闭其选择器来取消该Key之前,它一直保持有效。取消某个Key之后不会立即从Selector中移除它,相反,会将该Key添加到Selector的已取消key set,以便在下一次进行选择操作的时候移除它。所以简单来说,上面的那个selectionKey就是一种注册事件,而每一种事件对应着这个连接的一种状态,多路复用模型会检查每个连接所对应的状态,如果达到其中的一种状态,就会触发对应的事件处理逻辑。 来源:云原生后端社区

Atom 2020-04-25 13:29:54 0 浏览量 回答数 0

问题

已注册回调url,但通讯录触发事件时并未调用回调url

wu_cha 2019-12-01 21:43:04 825 浏览量 回答数 0

回答

在元素的父节点注册事件,通过事件冒泡,在父节点捕获事件

茶什i 2019-12-02 03:21:14 0 浏览量 回答数 0

回答

J2SE里面的很多GUI的Listener接口都有Adapter实现类,通过对Adapter的匿名类可以免去实现不必要方法的麻烦。 比如你的这个代码可以写成: //注册表格事件table.addMouseListener(new MouseAdapter() { //鼠标双击事件 @Override // 不确定是否需要@Override, U try public void mouseClicked(MouseEvent e) { if (e.getClickCount() == 2) { .....//处理事件 } } });解释:xxListener属于接口,它定义了很多事件调用方法,如果你的类实现xxListener的话必须将它定义的这些事件方法都实现,不管你需不需要的事件统统得实现,至少得实现成空方法(接口就是这么任性)。而xxAdapter属于类,它实现了xxListener接口,只不过它的所有方法都做成了空方法,你从xxAdapter类继承出来的类就只需要重写一下你所需要的事件方法就行了,其它事件发生的话就自动调用xxAdapter的空方法了。]

蛮大人123 2019-12-02 01:54:32 0 浏览量 回答数 0

回答

1.必须绑定到事件库,redisAsyncCommand把命令写入缓存,然后注册一个写的函数到事件库,等待事件库发现fd可写之后调用这个函数来做真的写。2.线程是否同步不清楚。目前自己写了一个2线程的,一个线程做事件主循环,一个发送Command,但是内存有问题core出来了。第三个还不太清楚。

落地花开啦 2019-12-02 01:42:53 0 浏览量 回答数 0

回答

读事件触发以后,你接受到服务器的信息,进行一些业务逻辑处理,处理完成之后假如你要向服务器返回信息时把事件改为写:channel.register(selector, SelectionKey.OP_WRITE),一般处理完逻辑之后改为register(selector, SelectionKey.OP_WRITE | SelectionKey.OP_READ) ,这样在等待消息的那段时间即可进行读操作又可进行写操作!###### 引用来自“qyj”的答案 读事件触发以后,你接受到服务器的信息,进行一些业务逻辑处理,处理完成之后假如你要向服务器返回信息时把事件改为写:channel.register(selector, SelectionKey.OP_WRITE),一般处理完逻辑之后改为register(selector, SelectionKey.OP_WRITE | SelectionKey.OP_READ) ,这样在等待消息的那段时间即可进行读操作又可进行写操作! 意思是我先只注册写事件register(selector, SelectionKey.OP_READ),读取到数据,处理完业务逻辑,然后再注册写事件?那这样就会触发写事件吗? ######我现在也正在纠结这个问题,读取客户端消息在读事件里面执行,如果需要回复客户端也只需要socketChannel.write(byteBuffer);写事件有什么特殊的用处么?###### 引用来自“时间在追我”的评论 我现在也正在纠结这个问题,读取客户端消息在读事件里面执行,如果需要回复客户端也只需要socketChannel.write(byteBuffer);写事件有什么特殊的用处么? 我也在纠结,写的话,我想写就可以写啊,还用得着事件吗?写事件是否是用来通知客户端,服务端已经准备好读了。写不是用在自己身上,而是用到对方身上的吧 ######http://blog.csdn.net/zhouhl_cn/article/details/6582435

kun坤 2020-06-07 20:50:21 0 浏览量 回答数 0

问题

EventBus注册在全局上时,路由切换时会重复触发事件,如何解决呢?

游客7iokfgo4yexey 2020-05-23 12:01:13 3 浏览量 回答数 1

回答

jQuery 可以给一个对象同时绑定多个事件,低层实现方式是使用 addEventListner 或 attachEvent 兼容不同的浏览器实现事件的绑定,这样可以给同一个对象注册多个事件。

茶什i 2019-12-02 03:21:18 0 浏览量 回答数 0

回答

可以实现一个事件的发生,多个监听者都可以听到,是一种典型的观察者模式,各个监听者的处理完全可以解耦,常见的注册事件有 1. java桌面应用AWT 2. spring框架中的事件

207471014295778924 2019-12-02 01:03:09 0 浏览量 回答数 0

回答

一个类调用另一个类中的方法,前者称为调用者(caller),后者称为被调用者(callee),调用者就是发号施令的人,被调用者就是按要求执行命令的人。通常,调用者需要做一件事情时,就会获取或创建一个被调用者的对象,然后调用它的方法,这是一种简单明了的关系,我们很容易就理解了。而回调是这样一个过程:调用者那里事先有一些可能需要做的事情,被调用者把自己注册到调用者那里,然后对他说:“有事叫我”,有点毛遂自荐的意思。然后当一件事情发生时,被调用者就会根据事先注册的情况调用合适的方法来处理。例如,我们向按钮(调用者)注册了一个点击事件的处理程序(被调用者),当点击事件发生时按钮就会找到这些处理程序并调用它们。回调特别适合于那种调用者事先不知道应该由哪些类来负责处理某件事的情况例如,编写按钮类的人不知道别人应该怎么处理按钮的点击事件,但他又不能不给按钮添加事件,否则按钮就没法正常使用了呀,这时候他就可以通过回调来解决这件事。

蛮大人123 2019-12-02 01:58:22 0 浏览量 回答数 0

问题

如何将MainView注册到另一个View触发的ComponentEvent?

montos 2020-03-21 20:53:03 1 浏览量 回答数 1

问题

通讯录变更事件回调接口

逍遥自在 2019-12-01 22:04:11 4184 浏览量 回答数 2

回答

Re“服务端开发文档-注册事件回调接口”让人困惑 问题来了,我只想注册事件回调接口,监控钉钉中的审批流程,在钉钉中发起流程,不要自己发起流程,不知道能不能实现?

wangzhigangandy 2019-12-02 02:54:35 0 浏览量 回答数 0

问题

客户端修改手机号后不推送户变更事件

silence87 2019-12-01 20:55:21 3211 浏览量 回答数 1
阿里云大学 云服务器ECS com域名 网站域名whois查询 开发者平台 小程序定制 小程序开发 国内短信套餐包 开发者技术与产品 云数据库 图像识别 开发者问答 阿里云建站 阿里云备案 云市场 万网 阿里云帮助文档 免费套餐 开发者工具 SSL证书 小程序开发制作 视频内容分析 企业网站制作 视频集锦 代理记账服务 2020阿里巴巴研发效能峰会 企业建站模板 云效成长地图 高端建站 2020中国云原生 阿里云云栖号