Java Swing中的事件是如何工作的?

6
Java Swing中的事件创建和处理是如何工作的?

你是指一般情况还是只针对Swing? - myplacedk
3个回答

10

Java的事件机制实际上是观察者设计模式的一种实现。

我建议您阅读一些关于观察者模式的内容,这将让您更好地理解Java中的事件机制。

在维基百科上了解观察者模式


6

一般情况下,事件是通过向引发事件的类注册回调函数来处理的。当事件发生时,该类将调用回调函数。

你可以在swing中找到很多例子。这里有一个非swing例子,来自我之前制作的聊天应用程序。

这是一个库,允许开发人员将聊天功能嵌入到他们的应用程序中。ChatClient类具有IMessageListener类型的成员。

IMessageListener listener;

创建ChatClient类的对象后,用户将在该对象上调用setListener方法。 (对于多个监听器,可以使用addListerer方法)
public void setListener(IMessageListener listener) {
    this.listener = listener;
}

在库方法中,当接收到消息时,我会在该侦听器对象上调用getMessage方法。这只是一个基本的例子。更复杂的库将使用更复杂的方法,例如实现事件队列、线程、并发等。编辑:是的,这确实是观察者模式。

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接