J2EEOnline J2EE






Java Certification  «Prev 
Inner classes: anonymous classes

Anonymous Program

The Anonymous program illustrates the use of anonymous inner classes. It creates a window program with a moving button. The Anonymous() constructor uses an anonymous inner class to create an object that implements the ActionListener interface to handle the clicking of the button. This object provides an implementation of the actionPerformed() method.
Note that the button variable is declared as final. The Anonymous() constructor also uses an anonymous inner class that extends the WindowAdapter class to handle the closing of the application window.

The Anonymous program


import java.awt.*;
import java.awt.event.*;
class Anonymous extends Frame {
  public static void main(String[] args) {
    new Anonymous();
  }

 Anonymous() {
   setLayout(null);
   final Button button = new Button("Click me!");
   button.setBounds(100,100,100,100);
   button.addActionListener(new ActionListener() {
     public void actionPerformed(ActionEvent e) {
       if (button.getLocation().x == 100)
         button.setBounds(200,200,100,100);
       else
         button.setBounds(100,100,100,100);
     }
   });
   add(button);
   addWindowListener(new WindowAdapter() {
     public void windowClosing(WindowEvent e) {
       System.exit(0);
     }   
   });
   setSize(400,400);
  setVisible(true);
 }
}