Java中是否有折叠多个事件的标准技术和/或示例?

Java中是否有折叠多个事件的标准技术和/或示例?,java,events,user-interface,event-handling,Java,Events,User Interface,Event Handling,让我先简单描述一下我所处的具体情况,尽管我的问题实际上更一般。我正在编写一个包含多个滑块的组件,我让侦听器侦听来自这些滑块的事件。当其中一个滑块发生更改时,我希望我的组件将事件发送到它自己的侦听器,以通知它们它的状态已更改。但是,我希望限制发送的事件数量,即如果组件通知其侦听器时有多个事件等待,我希望将所有这些事件折叠为单个事件 我的问题是,这方面是否有标准技术。如果是这样,任何例子都是受欢迎的,因为我找不到任何例子。(可能塌陷不是正确的术语?我认为塌陷是正确的术语。Java核心库中实现这种行为

让我先简单描述一下我所处的具体情况,尽管我的问题实际上更一般。我正在编写一个包含多个滑块的组件,我让侦听器侦听来自这些滑块的事件。当其中一个滑块发生更改时,我希望我的组件将事件发送到它自己的侦听器,以通知它们它的状态已更改。但是,我希望限制发送的事件数量,即如果组件通知其侦听器时有多个事件等待,我希望将所有这些事件折叠为单个事件


我的问题是,这方面是否有标准技术。如果是这样,任何例子都是受欢迎的,因为我找不到任何例子。(可能塌陷不是正确的术语?

我认为塌陷是正确的术语。Java核心库中实现这种行为的示例类是。我想看看它是如何折叠多个重绘请求的。

在你做任何这样的事情之前,你应该确保它确实是必要的

我想您需要从侦听器访问EventQueue。当某个事件触发回调方法时,此方法应首先查看队列中是否有相关类型的最近事件,如果有,则仅处理最近的事件,然后从队列中删除该类型的所有事件


由于回调总是在Swing(awt)事件线程上,因此您不必担心并发性。

您需要知道它们之间的距离,以便将它们分组。i、 e.用户每秒更新滑块的次数不太可能超过一次,因此您希望等待多长时间才能将多个更新分组为一个?用户更改滑块并不是一个真正的问题。我更关心的是程序上的变化。在我的组件开始处理第一个事件的那一刻,我实际上是在处理队列中等待处理的所有事件。