如果我自己叫行动,那我应该以actionPerformed(ActionEvent e)
的形式发送给e
吗?我的逻辑不使用此参数,因此我可以发送null
,但是定期在这里发送什么?如果通过按钮调用动作,那么它在这里发送什么?
最佳答案
通常,您传递3或4个部分(根据ActionEvent
的构造函数):
源(通常是Component
,但实际上可以是任何东西;通常是导致事件生成的UI的原始部分),
ID(几乎总是ActionEvent.ACTION_PERFORMED
,也可以是ActionEvent.ACTION_FIRST
或ActionEvent.ACTION_LAST
),
命令字符串(请参见AbstractButton.getActionCommand
),
以及任何修饰符(例如,如果用户在执行操作时按住AltShift键,则为ActionEvent.ALT_MASK | ActionEvent.SHIFT_MASK
)。
修饰符是可选的,其他所有都是必需的。您也可以为事件的时间传递when
,但是通常没有必要,因为它默认为构造事件的时间。