// ButtonTest.java // Creating JButtons. // Java core packages import java.awt.*; import java.awt.event.*; // Java extension packages import javax.swing.*; public class ButtonTest extends JFrame { private static final long serialVersionUID = 1557729535368120506L; private JButton plainButton, fancyButton; // set up GUI public ButtonTest() { super("Testing Buttons"); // get content pane and set its layout Container container = getContentPane(); container.setLayout(new FlowLayout()); // create buttons plainButton = new JButton("Plain Button"); container.add(plainButton); Icon bug1 = new ImageIcon("bug1.png"); Icon bug2 = new ImageIcon("bug2.png"); fancyButton = new JButton("Fancy Button", bug1); fancyButton.setRolloverIcon(bug2); container.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); setSize(275, 200); setVisible(true); } // execute application public static void main(String args[]) { ButtonTest application = new ButtonTest(); application.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } // inner class for button event handling private class ButtonHandler implements ActionListener { // handle button event public void actionPerformed(ActionEvent event) { JOptionPane.showMessageDialog(null, "You pressed: " + event.getActionCommand()); } } // end private inner class ButtonHandler } // end class ButtonTest /******************************************************************************* * (C) Copyright 2002 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. * ******************************************************************************/