Here’s an example of action events, using Swing buttons:

package swingExamples;

import java.awt.Color;
import java.awt.Container;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

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

class ColorButtonsPanel extends JPanel
    implements ActionListener
{
  public ColorButtonsPanel()
  {
    setBackground(Color.LIGHT_GRAY);
    add(m_yellow);
    m_yellow.addActionListener(this);
    add(m_blue);
    m_blue.addActionListener(this);
    add(m_orange);
    m_orange.addActionListener(this);
    add(m_cyan);
    m_cyan.addActionListener(this);
    add(m_pink);
    m_pink.addActionListener(this);
    add(m_red);
    m_red.addActionListener(this);
    add(m_white);
    m_white.addActionListener(this);
  }
  
  // ActionListener required methods
  public void actionPerformed(ActionEvent evt)
  {
    JButton button = (JButton) evt.getSource();
    Color back = Color.BLACK;
    if (button == m_yellow)
      back = Color.YELLOW;
    else if (button == m_blue)
      back = Color.BLUE;
    else if (button == m_orange)
      back = Color.ORANGE;
    else if (button == m_cyan)
      back = Color.cyan;
    else if (button == m_pink)
      back = Color.PINK;
    else if (button == m_red)
      back = Color.RED;
    else if (button == m_white)
      back = Color.WHITE;
    setBackground(back);
    repaint();
  }
  
  ////////////// Data //////////////////
  private JButton m_yellow = new JButton("Yellow");
  private JButton m_blue   = new JButton("Blue");
  private JButton m_orange = new JButton("Orange");
  private JButton m_cyan   = new JButton("Cyan");
  private JButton m_pink   = new JButton("Pink");
  private JButton m_red    = new JButton("Red");
  private JButton m_white  = new JButton("White");
}

class ColorButtonsFrame extends JFrame
{
  public ColorButtonsFrame()
  {
    setTitle("ColorButtons");
    setSize(300, 200);
    setDefaultCloseOperation(EXIT_ON_CLOSE);
    Container contentPane = getContentPane();
    contentPane.add( new ColorButtonsPanel() );
  }
}

public class ColorButtonsDisplay
{
  public static void main(String[] args)
  {
    ColorButtonsFrame frame = new ColorButtonsFrame();
    frame.setVisible(true);
  }
}

which produces this:

Of course, the first is the original display, and the others are the result of clicking on the appropriate button to change the background color.