Mega Code Archive

 
Categories / Java Tutorial / Swing Event
 

Get event source from ActionEvent

import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JOptionPane; import javax.swing.JPanel; public class MainClass extends JFrame {   public static void main(String[] args) {     new MainClass();   }   private JButton button1  = new JButton("Click Me!"), exitButton= new JButton("Exit");   public MainClass() {     this.setSize(275, 100);     this.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);     ClickListener cl = new ClickListener();     JPanel panel1 = new JPanel();     addWindowListener(new WindowAdapter() {       public void windowClosing(WindowEvent e) {         exitButton.doClick();       }     });     button1.addActionListener(cl);     panel1.add(button1);     exitButton.addActionListener(cl);     panel1.add(exitButton);     this.add(panel1);     this.setVisible(true);   }   private class ClickListener implements ActionListener {     private int clickCount = 0;     public void actionPerformed(ActionEvent e) {       if (e.getSource() == button1) {         clickCount++;         if (clickCount == 1)           button1.setText("clicked!");         else           button1.setText("clicked " + clickCount + " times!");       } else if (e.getSource() == exitButton) {         if (clickCount > 0)           System.exit(0);         else {           JOptionPane.showMessageDialog(MainClass.this, "You must click at least once!",               "Title", JOptionPane.ERROR_MESSAGE);         }       }     }   } }