1

我从大学得到了这个任务,我必须在界面中有 5 个按钮,当单击按钮时,我必须对该按钮执行操作。但是当我在 actionPerformed() 中使用“this”时,它并不是指“被点击的按钮”,我无法锻炼它实际指的是什么。

所以:

  1. ActionPerformed() 动作处理程序中的“this”指的是什么?
  2. 通过使用“e.getActionCommand()”,在不使用一堆 if 语句的情况下,使用“被点击”按钮做某事的任何好方法?
4

1 回答 1

6

您可以使用EventObject#getSource(),它由 ActionEvent 继承。

@Override
public void actionPerformed(ActionEvent e) { 
    JButton source = (JButton) e.getSource();
    ...
}

在 ActionListener 中,this指的是 ActionListener 对象本身,而不是源对象。

于 2012-10-30T18:28:51.290 回答