// Fig. 12.10: ButtonTest.java

// Creating JButtons.

import java.awt.*;

import java.awt.event.*;

import javax.swing.*;       // import package javax.swing



public class ButtonTest extends JApplet {

    private JButton plainButton, fancyButton;



   public void init()

   {

      Container c = getContentPane();

      c.setLayout( new FlowLayout() );



      // create buttons

      plainButton = new JButton( "Plain Button" );

      c.add( plainButton );



      Icon bug1 = new ImageIcon( "bug1.gif" );

      Icon bug2 = new ImageIcon( "bug2.gif" );

      fancyButton = new JButton( "Fancy Button", bug1 );

      fancyButton.setRolloverIcon( bug2 );

      c.add( fancyButton );



      // create an instance of inner class ButtonHandler

      // to use for button event handling 

      ButtonHandler handler = new ButtonHandler();

      fancyButton.addActionListener( handler );

      plainButton.addActionListener( handler );

   }



   // inner class for button event handling

   private class ButtonHandler implements ActionListener {

      public void actionPerformed( ActionEvent e )

      {

         JOptionPane.showMessageDialog( null,

            "You pressed: " + e.getActionCommand() );

      }

   }

}



/**************************************************************************

 * (C) Copyright 1999 by Deitel & Associates, Inc. and Prentice Hall.     *

 * All Rights Reserved.                                                   *

 *                                                                        *

 * DISCLAIMER: The authors and publisher of this book have used their     *

 * best efforts in preparing the book. These efforts include the          *

 * development, research, and testing of the theories and programs        *

 * to determine their effectiveness. The authors and publisher make       *

 * no warranty of any kind, expressed or implied, with regard to these    *

 * programs or to the documentation contained in these books. The authors *

 * and publisher shall not be liable in any event for incidental or       *

 * consequential damages in connection with, or arising out of, the       *

 * furnishing, performance, or use of these programs.                     *

 *************************************************************************/