Java FocusListener 的等效 ActionCommand

Java ActionCommand equivalent for FocusListener

我必须扩展一些实现 ActionListener 的代码,该 ActionListener 使用 ActionCommand 获取有关触发 ActionEvent 的组件所属对象的更多信息。

同一段代码现在也应该实现 FocusListener,因此我需要我的 FocusListener 从触发 FocusEvent 的组件接收类似 ActionCommand 的内容。

不幸的是,似乎没有与 FocusListener 的 ActionCommand 等效的东西,所以我有点卡住了。如何为我的 FocusListener 提供类似于 ActionCommand 的内容?

FocusEvent.getComponent() 方法检索触发事件的组件。这可能不会直接提供您希望的适当 'command',但您可以通过以下方式间接检索与触发事件的组件相关的数据(例如 getComponent 方法返回的组件):

  1. 使用 Map(例如 HashMap)将每个组件映射到其 ID
  2. 将每个组件的名称设置为其 ID,并使用 getName 方法
  3. 如果组件扩展了 AbstractButton,您可以转换为该类型并使用 getActionCommand 方法。