Multiple sources: A listener can be plugged into several sources.
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
class ButtonListener implements ActionListener {
public void actionPerformed(ActionEvent e) {
JButton o = (JButton) e.getSource();
String label = o.getText();
System.out.println(label + " button clicked");
}
}
public class MultipleSources {
public static void main(String[] args) {
JPanel panel = new JPanel();
JButton close = new JButton("Close");
close.addActionListener(new ButtonListener());
JButton open = new JButton("Open");
open.addActionListener(new ButtonListener());
JButton find = new JButton("Find");
find.addActionListener(new ButtonListener());
JButton save = new JButton("Save");
save.addActionListener(new ButtonListener());
panel.add(close);
panel.add(open);
panel.add(find);
panel.add(save);
JFrame f = new JFrame();
f.add(panel);
f.setSize(400, 300);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.setVisible(true);
}
}
Related examples in the same category