Java ActionCommand等效于FocusListener

时间:2015-04-20 19:54:54

标签: java events command focus listener

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

同一块代码现在也应该实现一个FocusListener,所以我需要我的FocusListener从触发FocusEvent的组件中接收类似ActionCommand的内容。

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

1 个答案:

答案 0 :(得分:1)

FocusEvent.getComponent()方法检索触发事件的Component。这可能无法直接提供适当的“命令”。您希望,但您可以通过以下方式间接检索与触发事件的Component相关联的数据(例如,getComponent方法返回的Component):

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