java - 如果不处理事件会发生什么?

标签 java

我是 Java GUI 新手。那么假设我有一个按钮并且没有我提供的事件处理程序,那么谁将处理该事件?它与事件调度程序线程事件处理程序有关吗? 尽管我有处理程序,但还请解释事件监听器的作用是什么? 事件处理和异常处理的工作方式相同吗? 谢谢 问候

最佳答案

没人会听到的。 Java Swing(和其他 GUI 库)中的事件机制类似于监听器(发布/订阅)模式。如果没有注册监听器,则没有人会处理该事件。

看看这个: http://www.programcreek.com/2009/01/the-steps-involved-in-building-a-swing-gui-application/ 。 一般来说:发布者(例如 JButton)发布许多事件:鼠标单击、悬停等。任意数量的订阅者(MouseAdapter,...)可以注册。每次发布特定类型的事件(例如 MouseEvent)时,正确的监听器就会到位并执行其操作。

发布者不知道有多少订阅者以及哪些订阅者已注册。这样他们就松耦合了

编辑:这也可能有帮助 http://www.freejavaguide.com/java_swing.html

关于java - 如果不处理事件会发生什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17717874/

相关文章:

java - 在 Java 中使用布局

java - 有什么方法可以从 Lambda 闭包中停止 Stream.generate 吗?

java - 如何为每个 log4j 请求生成唯一的请求 id

java - 我正在从命令行运行 testng 但没有执行任何测试

Java:使用 get 方法获取参数,例如在一个字符串中发送

java - 使用注释进行异常处理?

java - 如何使用 uibinder 创建带有子项的 gwt 复合组件?

java - 当光标位于子组件上时,JPanel 不会生成 MouseEvents

来自远程服务器的 MS SQL Server 2005 的 Java 数据库连接问题

Java程序运行后在Eclipse中使用变量