最简单和最干净的方法是为每个按钮添加一个专用的、特定的动作监听器。这样,当调用 actionPerformed() 方法时,您就可以确定关联的按钮已被单击,而无需测试单击了哪个按钮:
selectButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
// handle click on select button
}
});
scrollButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
// handle click on scroll button
}
});
另一种方式是使用普通的ActionListener,通过getSource()
ActionEvent的方法知道是哪个组件触发了事件。将结果与每个潜在按钮进行比较,以确定哪个是已单击的按钮:
@Override
public void actionPerformed(ActionEvent e) {
if (e.getSource() == selectButton) {
// handle click on select button
}
else if (e.getSource() == scrollButton) {
// handle click on scroll button
}
}
ActionEvent 的参数是什么?
答案在文档中。阅读。