java怎么多次接收对窗体中button的点击
时间: 2024-05-12 16:21:04 浏览: 109
可以使用addActionListener()方法来给按钮添加多个监听器,每个监听器对应一个处理函数,当按钮被点击时,所有监听器都会被触发,执行相应的处理函数。示例代码如下:
```
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class ButtonDemo extends JFrame implements ActionListener {
private JButton btn1, btn2, btn3;
private JLabel label;
public ButtonDemo() {
super("Button Demo");
setSize(300, 200);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLayout(new FlowLayout());
btn1 = new JButton("Button 1");
btn2 = new JButton("Button 2");
btn3 = new JButton("Button 3");
label = new JLabel("Button clicks: 0");
add(btn1);
add(btn2);
add(btn3);
add(label);
// 添加多个监听器
btn1.addActionListener(this);
btn1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
label.setText("Button 1 clicked again");
}
});
btn2.addActionListener(this);
btn3.addActionListener(this);
setVisible(true);
}
public void actionPerformed(ActionEvent e) {
if (e.getSource() == btn1) {
label.setText("Button 1 clicked");
} else if (e.getSource() == btn2) {
label.setText("Button 2 clicked");
} else if (e.getSource() == btn3) {
label.setText("Button 3 clicked");
}
}
public static void main(String[] args) {
new ButtonDemo();
}
}
```
在上面的代码中,我们给三个按钮分别添加了一个监听器和一个匿名内部类监听器,同时让窗口本身也实现了ActionListener接口,作为第三个监听器。每个监听器都对应一个处理函数,当按钮被点击时,所有监听器都会被触发,执行相应的处理函数。在处理函数中,通过getSource()方法获取事件源,即被点击的按钮,从而区分不同的按钮。
阅读全文