我从大学得到了这个任务,我必须在界面中有 5 个按钮,当单击按钮时,我必须对该按钮执行操作。但是当我在 actionPerformed() 中使用“this”时,它并不是指“被点击的按钮”,我无法锻炼它实际指的是什么。
所以:
- ActionPerformed() 动作处理程序中的“this”指的是什么?
- 通过使用“e.getActionCommand()”,在不使用一堆 if 语句的情况下,使用“被点击”按钮做某事的任何好方法?
我从大学得到了这个任务,我必须在界面中有 5 个按钮,当单击按钮时,我必须对该按钮执行操作。但是当我在 actionPerformed() 中使用“this”时,它并不是指“被点击的按钮”,我无法锻炼它实际指的是什么。
所以:
您可以使用EventObject#getSource(),它由 ActionEvent 继承。
@Override
public void actionPerformed(ActionEvent e) {
JButton source = (JButton) e.getSource();
...
}
在 ActionListener 中,this
指的是 ActionListener 对象本身,而不是源对象。