6

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

4

3 回答 3

10

java事件机制实际上是观察者设计模式的一种实现。我建议你稍微阅读一下观察者模式,这会让你对 Java 中的事件机制是如何工作的有很多了解。

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

于 2008-10-27T09:42:00.570 回答
6

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

你会从 swing 中找到很多例子。这是我一段时间前制作的聊天应用程序的非摆动示例

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

IMessageListener listener;

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

public void setListener(IMessageListener listener) {
    this.listener = listener;
}

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

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

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

于 2008-10-27T09:44:44.123 回答
0

这里有一个关于事件处理的教程:http: //java.sun.com/docs/books/tutorial/uiswing/events/index.html

这是关于摇摆的。如果这不起作用,也许你可以更具体一点?

于 2008-10-27T09:37:51.577 回答