// Typical anonymous class, one that implements
// the ActionListener interface.
// We instantiate only one object of this class ever.
// This code would live typically in an Applet.init method

insultButton.addActionListener( new ActionListener()
   {

   public void actionPerformed ( ActionEvent e )
      {
      // insultText is a field of the outer class,
      // in which this anonymous class is embedded.
      // generateInsult is a method of the outer class.
      insultText.setText( generateInsult() );
      }

   } );