In Java, an ActionListener is used to respond to button clicks and other similar user actions. It allows us to define what should happen when a specific event, like a button click, occurs. Following is an example of how we can use ActionListener to respond when user clicks the button:
Import Required Libraries
First, import the necessary libraries to work with Swing components and ActionListener:
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
Create a JFrame
Create a JFrame (the main window) to hold our GUI components:
public class ActionListenerDemo {
public static void main(String[] args) {
JFrame frame = new JFrame("Button Click Example");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(300, 200);
frame.setLayout(new FlowLayout());
// Create a button and add ActionListener
JButton button = new JButton("Click Me");
button.addActionListener(new MyActionListener());
frame.add(button);
frame.setVisible(true);
}
}
Implement ActionListener
Create a class that implements the ActionListener interface to define the action that should occur when the button is clicked:
class MyActionListener implements ActionListener {
@Override
public void actionPerformed(ActionEvent e) {
// Code to execute when the button is clicked
JOptionPane.showMessageDialog(null, "Button Clicked!");
}
}
Final Code
If we combine all the steps then the final code looks like below:
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
public class ActionListenerDemo {
public static void main(String[] args) {
JFrame frame = new JFrame("Button Click Example");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(300, 200);
frame.setLayout(new FlowLayout());
// Create a button and add ActionListener
JButton button = new JButton("Click Me");
button.addActionListener(new MyActionListener());
frame.add(button);
frame.setVisible(true);
}
}
class MyActionListener implements ActionListener {
@Override
public void actionPerformed(ActionEvent e) {
// Code to execute when the button is clicked
JOptionPane.showMessageDialog(null, "Button Clicked!");
}
}
After executing the above code the output looks like below: