解决常见的事件处理问题
本节讨论在处理事件时可能遇到的问题。
问题: 我正在try处理某个组件中的某些事件,但是该组件未生成应有的事件。
-
首先,请确保您注册了正确的侦听器类型以检测事件。查看另一种侦听器是否可以检测到您需要的事件类型。
-
确保您在正确的对象上注册了侦听器。
-
您是否正确实现了事件处理程序?例如,如果扩展了适配器类,请确保使用正确的方法签名。确保每个事件处理方法都是
public void
,名称拼写正确,并且参数的类型正确。
问题: 我的组合框未生成诸如焦点事件之类的低级事件。
- 组合框是复合组件,即使用多个组件实现的组件。因此,组合框不会触发简单组件触发的低级事件。有关更多信息,请参见在组合框上处理事件。
问题: 用于编辑器窗格(或文本窗格)的文档没有触发文档事件。
- 从 URL 加载文本时,编辑器窗格或文本窗格的文档实例可能会更改。因此,您的侦听器可能正在侦听未使用文档上的事件。例如,如果您使用先前加载了纯文本的 HTML 加载编辑器窗格或文本窗格,则文档将变为
HTMLDocument
实例。如果您的程序将文本动态地加载到编辑器窗格或文本窗格中,请确保代码针对文档的可能更改进行了调整(在新文档上重新注册文档侦听器,依此类推)。
如果在此列表中没有看到您的问题,请参阅解决常见组件问题。