我是 Java GUI 的新手。所以说如果我有一个按钮并且没有我提供的事件处理程序,那么谁来处理那个事件?它与事件调度程序线程事件处理程序有关吗?尽管我有处理程序,但还请解释事件侦听器的作用是什么?事件处理和异常处理的工作方式相同吗?感谢和问候
问问题
521 次
2 回答
2
Nobdy会听到的。Java Swing(和其他 GUI 库)中的事件机制类似于侦听器(发布/订阅)模式。如果没有注册监听器,则没有人会处理该事件。
看看这个: http: //www.programcreek.com/2009/01/the-steps-involved-in-building-a-swing-gui-application/。一般而言:发布者(例如 JButton)发布许多事件:鼠标点击、悬停等。可以注册任意数量的订阅者(MouseAdapter,...)。每次发布特定类型的事件(例如 MouseEvent)时,正确的侦听器就会出现并执行它的操作。
发布者不知道注册了多少订阅者和哪些订阅者。通过这种方式,它们是松散耦合的
于 2013-07-18T08:12:34.020 回答