解决常见的事件处理问题

本节讨论在处理事件时可能遇到的问题。

问题: 我正在try处理某个组件中的某些事件,但是该组件未生成应有的事件。

  • 首先,请确保您注册了正确的侦听器类型以检测事件。查看另一种侦听器是否可以检测到您需要的事件类型。

  • 确保您在正确的对象上注册了侦听器。

  • 您是否正确实现了事件处理程序?例如,如果扩展了适配器类,请确保使用正确的方法签名。确保每个事件处理方法都是public void,名称拼写正确,并且参数的类型正确。

问题: 我的组合框未生成诸如焦点事件之类的低级事件。

  • 组合框是复合组件,即使用多个组件实现的组件。因此,组合框不会触发简单组件触发的低级事件。有关更多信息,请参见在组合框上处理事件

问题: 用于编辑器窗格(或文本窗格)的文档没有触发文档事件。

  • 从 URL 加载文本时,编辑器窗格或文本窗格的文档实例可能会更改。因此,您的侦听器可能正在侦听未使用文档上的事件。例如,如果您使用先前加载了纯文本的 HTML 加载编辑器窗格或文本窗格,则文档将变为HTMLDocument实例。如果您的程序将文本动态地加载到编辑器窗格或文本窗格中,请确保代码针对文档的可能更改进行了调整(在新文档上重新注册文档侦听器,依此类推)。

如果在此列表中没有看到您的问题,请参阅解决常见组件问题