事件如何在Java Swing中起作用?

sup*_*edo 6 java events swing

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

nkr*_*1pt 10

java事件机制实际上是Observer设计模式的一个实现.我建议你不要仔细阅读观察者模式,这将让你对Java中的事件机制如何工作有很多了解.

请参阅维基百科上的观察者模式


Mid*_*hat 6

通常,通过向将引发事件的类注册回调函数来处理事件.当事件发生时,该类将调用回调函数.

你会发现很多来自swing的例子.这是一个非常好的例子,来自聊天应用程序,我花了一些时间

这是一个允许开发人员将聊天功能嵌入其应用程序的库.ChatClient类具有IMessageListener类型的成员

IMessageListener listener;
Run Code Online (Sandbox Code Playgroud)

在为ChatClient类创建对象之后,用户将在对象上调用setListener.(可以是多个侦听器的addListerer)

public void setListener(IMessageListener listener) {
    this.listener = listener;
}
Run Code Online (Sandbox Code Playgroud)

并且在收到消息时的库方法中,我将在该侦听器对象上调用getMessage方法

这是一个基本的例子.更复杂的库将使用更复杂的方法,如实现事件队列,线程,并发等.

编辑:是的.这确实是观察者模式