1  import javax.swing.*;
  2  import java.awt.event.*;
  3  
  4  public class FrameAsListenerDemo extends JFrame 
  5      implements ActionListener {
  6    // Create four buttons
  7    private JButton jbtNew = new JButton("New");
  8    private JButton jbtOpen = new JButton("Open");
  9    private JButton jbtSave = new JButton("Save");
 10    private JButton jbtPrint = new JButton("Print");
 11  
 12    public FrameAsListenerDemo() {
 13      // Create a panel to hold buttons
 14      JPanel panel = new JPanel();
 15      panel.add(jbtNew);
 16      panel.add(jbtOpen);
 17      panel.add(jbtSave);
 18      panel.add(jbtPrint);
 19      
 20      add(panel);
 21  
 22      // Register listener with buttons 
 23      jbtNew.addActionListener(this);
 24      jbtOpen.addActionListener(this);
 25      jbtSave.addActionListener(this);
 26      jbtPrint.addActionListener(this);
 27    }
 28  
 29    @Override /** Implement actionPerformed */
 30    public void actionPerformed(ActionEvent e) {
 31      if (e.getSource() == jbtNew)
 32        System.out.println("Process New");
 33      else if (e.getSource() == jbtOpen)
 34        System.out.println("Process Open");
 35      else if (e.getSource() == jbtSave)
 36        System.out.println("Process Save");
 37      else if (e.getSource() == jbtPrint)
 38        System.out.println("Process Print");
 39    }
 40  
 41    /** Main method */
 42    public static void main(String[] args) {
 43      JFrame frame = new FrameAsListenerDemo();
 44      frame.setTitle("FrameAsListenerDemo");
 45      frame.setLocationRelativeTo(null); // Center the frame
 46      frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
 47      frame.pack();
 48      frame.setVisible(true);
 49    }
 50  }