Handle action events for JButton

This is a tutorial on how to handle action events for JButtons components in a Java Desktop Application. JButtons are very frequently used, and it is a very standard practice to use buttons for basic input operations in GUI applications.

In order to handle action events in JButton, all you have to do is:

  • Create a class that extends JFrame and implements ActionListener.
  • Create new JButtons.
  • Override actionPerformed method of ActionListener interface.
  • Use ActionEvent.getActionCommand to get which JButton was pressed.
  • Use add to add JButtons to the frame.

Let’s see the following code snippet:

package com.javacodegeeks.snippets.desktop;

import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JFrame;

public class HandleActionEventsForJButton extends JFrame implements ActionListener {

	private static final long serialVersionUID = 1L;

	public HandleActionEventsForJButton() {

		// set flow layout for the frame
		this.getContentPane().setLayout(new FlowLayout());

		JButton button1 = new JButton("Yes");
		JButton button2 = new JButton("No");

		//set action listeners for buttons

		//add buttons to the frame


	public void actionPerformed(ActionEvent ae) {
		String action = ae.getActionCommand();
		if (action.equals("Yes")) {
			System.out.println("Yes Button pressed!");
		else if (action.equals("No")) {
			System.out.println("No Button pressed!");

	private static void createAndShowGUI() {

  //Create and set up the window.

  JFrame frame = new HandleActionEventsForJButton();

  //Display the window.





	public static void main(String[] args) {

  //Schedule a job for the event-dispatching thread:

  //creating and showing this application's GUI.

  javax.swing.SwingUtilities.invokeLater(new Runnable() {

public void run() {





This was an example on how to handle action events for JButton.

Want to know how to develop your skillset to become a Java Rockstar?

Join our newsletter to start rocking!

To get you started we give you our best selling eBooks for FREE!


1. JPA Mini Book

2. JVM Troubleshooting Guide

3. JUnit Tutorial for Unit Testing

4. Java Annotations Tutorial

5. Java Interview Questions

6. Spring Interview Questions

7. Android UI Design


and many more ....


Receive Java & Developer job alerts in your Area

I have read and agree to the terms & conditions


Byron Kiourtzoglou

Byron is a master software engineer working in the IT and Telecom domains. He is an applications developer in a wide variety of applications/services. He is currently acting as the team leader and technical architect for a proprietary service creation and integration platform for both the IT and Telecom industries in addition to a in-house big data real-time analytics solution. He is always fascinated by SOA, middleware services and mobile development. Byron is co-founder and Executive Editor at Java Code Geeks.
Notify of

This site uses Akismet to reduce spam. Learn how your comment data is processed.

1 Comment
Newest Most Voted
Inline Feedbacks
View all comments
2 years ago

Great Contents. I have also tried the Event handling in java.

Back to top button