在Java中,可以通过实现ActionListener接口来监听组件的动作,并在事件处理方法中获取触发动作的组件。下面是一个简单的示例代码:
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class ActionListenerExample implements ActionListener {
private JButton button1;
private JButton button2;
public ActionListenerExample() {
JFrame frame = new JFrame("ActionListener Example");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
// 创建两个按钮
button1 = new JButton("Button 1");
button2 = new JButton("Button 2");
// 给按钮添加动作监听器
button1.addActionListener(this);
button2.addActionListener(this);
// 将按钮添加到面板
JPanel panel = new JPanel();
panel.add(button1);
panel.add(button2);
// 将面板添加到框架
frame.add(panel);
frame.pack();
frame.setVisible(true);
}
@Override
public void actionPerformed(ActionEvent e) {
if (e.getSource() == button1) {
System.out.println("Button 1 被点击了");
} else if (e.getSource() == button2) {
System.out.println("Button 2 被点击了");
}
}
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
public void run() {
new ActionListenerExample();
}
});
}
}
在上面的示例中,我们创建了两个按钮(button1和button2),并为它们添加了同一个ActionListener。在ActionListener的actionPerformed方法中,我们使用getSource()方法来获取触发动作的组件,然后根据不同的组件执行不同的逻辑操作。