java事件侦听器及其工作方式

Java中的事件监听器设计用于处理某种类型的事件—它“侦听”某个事件,例如用户的鼠标单击或按键,然后相应地做出响应。事件侦听器必须连接到定义事件的事件对象。...

Java中的事件监听器设计用于处理某种类型的事件—它“侦听”某个事件,例如用户的鼠标单击或按键,然后相应地做出响应。事件侦听器必须连接到定义事件的事件对象。

Girl using computer at desk

例如,像JButton这样的图形组件​或JTextField称为事件源。这意味着它们可以生成事件(称为事件对象),例如提供供用户单击的JButton,或者提供供用户输入文本的JTextField。事件侦听器的工作是捕获这些事件并对其进行处理。

事件侦听器如何工作

每个事件侦听器接口至少包括一个由等效事件源使用的方法。

在这个讨论中,让我们考虑一个鼠标事件,即用户用鼠标点击鼠标java事件MouthEvor所表示的任何事件。要处理这种类型的事件,首先要创建一个实现Java MouseListener接口的MouseListener类。该接口有五种方法;实现与您预期用户采取的鼠标操作类型相关的操作。这些是:

  • 在组件上单击(按下并释放)鼠标按钮时调用void mouseClicked(MouseEvent e)。
  • 当鼠标进入组件时调用void mouseenterted(MouseEvent e)。
  • 当鼠标退出组件时调用void mouseExited(MouseEvent e)。
  • 在组件上按下鼠标按钮时调用void mouseepressed(MouseEvent e)。
  • 在组件上释放鼠标按钮时调用void mouseerelease(MouseEvent e)

如您所见,每个方法都有一个单独的事件对象参数:它设计用来处理的特定鼠标事件。在MouseListener类中,您注册“侦听”这些事件中的任何一个,以便在它们发生时通知您。

当事件触发时(例如,用户根据上面的mouseClicked()方法单击鼠标),将创建一个表示该事件的相关MouseEvent对象,并将其传递给注册以接收该事件的MouseListener对象。

事件侦听器的类型

事件监听器由不同的接口表示,每个接口都设计用于处理等效事件。

请注意,事件侦听器是灵活的,因为可以注册单个侦听器来“侦听”多种类型的事件。这意味着,对于执行相同类型操作的一组类似组件,一个事件侦听器可以处理所有事件。

以下是一些最常见的类型:

  • ActionListener:侦听ActionEvent,即单击图形元素(如按钮或列表中的项目)时。
  • ContainerListener:侦听ContainerEvent,如果用户在接口中添加或删除对象,则可能会发生这种情况。
  • KeyListener:侦听用户按下、键入或释放键的KeyEvent。
  • WindowListener:侦听WindowEvent,例如,当窗口关闭、激活或停用时。
  • MouseListener:侦听MouseEvent,例如当单击或按下鼠标时。

  • 发表于 2021-09-28 05:56
  • 阅读 ( 196 )
  • 分类:编程

你可能感兴趣的文章

关于javarmi注册中心以及如何使用它的所有内容

... 使用netstat命令检查指定端口上是否确实存在侦听器: ...

  • 发布于 2021-03-12 15:58
  • 阅读 ( 302 )

助听器是如何工作的?简单概述

...的生活带来巨大的改变,然而尽管如此,真正了解助听器工作原理的人并不多。举个例子:我自己的几个家庭成员都使用助听器,但直到最近我才把它们当作“魔法”来使用 ...

  • 发布于 2021-03-16 07:24
  • 阅读 ( 270 )

自动化测试的五大工具

...开发具有数据驱动实践的测试用例 WebDriver事件监听器:使用这个增强的监听器来处理WebDriver触发的事件 ...

  • 发布于 2021-03-26 20:32
  • 阅读 ( 223 )

web服务器如何侦听新请求?

在了解web服务器及其工作方式时,您可能会好奇,他们是在不断地侦听请求,还是等到收到请求后才采取行动。有鉴于此,今天的超级用户问答帖子有了满足读者好奇心的答案。 今天的问答环节是由SuperUser提供的,SuperUser是Stac...

  • 发布于 2021-04-11 04:35
  • 阅读 ( 172 )

javascript不是java,它更安全、更有用

...免受未来可能出现的浏览器漏洞的影响。只要保持浏览器及其插件的更新。 JavaScript为现代web提供了强大的动力,无论你是在电脑上还是在智能**上使用浏览器。禁用它将使许多网站无法使用。 另一方面,Java浏览器插件在非常...

  • 发布于 2021-04-11 05:31
  • 阅读 ( 216 )

极客学校:学习在powershell中使用远程处理

...在什么安全上下文下运行。使用WinRM服务,还可以设置“侦听器”,侦听传入的PowerShell请求。这些“侦听器”可以是HTTP或HTTPS,并且可以绑定到您计算机上的单个IP地址。当您打开到另一台计算机的PowerShell连接时(技术上这是使...

  • 发布于 2021-04-11 22:54
  • 阅读 ( 201 )

adf公司(adf)和联合攻击机(jsf)的区别

...ava技术的任何其他web应用程序,它包含JavaBeans,一个表示事件处理程序和呈现UI组件、服务器端帮助程序类、验证程序和导航处理程序的自定义标记库。 组件 Oracle ADF实际上是四个部分,它们为常见业务服务技术提供了现成的...

  • 发布于 2021-06-25 17:42
  • 阅读 ( 220 )

同步(synchronous)和java中的异步调用(asynchronous calls in java)的区别

...有一个抽象方法event1。在B类中,有一个MyEventListener类型侦听器的声明。registerEventListener将获得的值设置为侦听器。方法1包含同步任务。“if”条件检查侦听器是否已注册。如果条件为true,则使用侦听器调用类A的回调方法。 类...

  • 发布于 2021-07-01 14:57
  • 阅读 ( 821 )

杰帕内尔(jpanel)和jframe公司(jframe)的区别

...窗口之类的操作时,它就开始工作。它还使用了一个鼠标侦听器,这样框架就可以对鼠标的动作做出反应。一个JFrame可以在其内部放置多个frame和jpanel,但它们都依赖于大型机的存在。不仅可以使用监听器的方法,还可以使用get...

  • 发布于 2021-07-09 19:11
  • 阅读 ( 214 )

使用netbeans和swing编写简单的java用户界面

...递的值 构造函数设置按钮的标签: 这是唯一定义了事件侦听器的组件。“事件”发生在用户与图形组件交互时。例如,如果用户单击按钮或将文本写入文本框,则会发生事件。 事件侦听器告诉应用程序在事件发生时要做什么。...

  • 发布于 2021-09-12 23:46
  • 阅读 ( 160 )
hxpxl977
hxpxl977

0 篇文章

相关推荐