Source of SliderFrame.java


  1: // Fig. 22.11: SliderFrame.java
  2: // Using JSliders to size an oval.
  3: import java.awt.BorderLayout;
  4: import java.awt.Color;
  5: import javax.swing.JFrame;
  6: import javax.swing.JSlider;
  7: import javax.swing.SwingConstants;
  8: import javax.swing.event.ChangeListener;
  9: import javax.swing.event.ChangeEvent;
 10: 
 11: public class SliderFrame extends JFrame 
 12: {
 13:    private JSlider diameterJSlider; // slider to select diameter
 14:    private OvalPanel myPanel; // panel to draw circle
 15: 
 16:    // no-argument constructor
 17:    public SliderFrame() 
 18:    {
 19:       super( "Slider Demo" );
 20: 
 21:       myPanel = new OvalPanel(); // create panel to draw circle
 22:       myPanel.setBackground( Color.YELLOW ); // set background to yellow
 23: 
 24:       // set up JSlider to control diameter value
 25:       diameterJSlider = 
 26:          new JSlider( SwingConstants.HORIZONTAL, 0, 200, 10 );
 27:       diameterJSlider.setMajorTickSpacing( 10 ); // create tick every 10
 28:       diameterJSlider.setPaintTicks( true ); // paint ticks on slider
 29: 
 30:       // register JSlider event listener
 31:       diameterJSlider.addChangeListener(
 32: 
 33:          new ChangeListener() // anonymous inner class
 34:          {  
 35:             // handle change in slider value
 36:             public void stateChanged( ChangeEvent e )
 37:             {
 38:                myPanel.setDiameter( diameterJSlider.getValue() );
 39:             } // end method stateChanged
 40:          } // end anonymous inner class
 41:       ); // end call to addChangeListener
 42: 
 43:       add( diameterJSlider, BorderLayout.SOUTH ); // add slider to frame
 44:       add( myPanel, BorderLayout.CENTER ); // add panel to frame
 45:    } // end SliderFrame constructor
 46: } // end class SliderFrame
 47: 
 48: /**************************************************************************
 49:  * (C) Copyright 1992-2005 by Deitel & Associates, Inc. and               *
 50:  * Pearson Education, Inc. All Rights Reserved.                           *
 51:  *                                                                        *
 52:  * DISCLAIMER: The authors and publisher of this book have used their     *
 53:  * best efforts in preparing the book. These efforts include the          *
 54:  * development, research, and testing of the theories and programs        *
 55:  * to determine their effectiveness. The authors and publisher make       *
 56:  * no warranty of any kind, expressed or implied, with regard to these    *
 57:  * programs or to the documentation contained in these books. The authors *
 58:  * and publisher shall not be liable in any event for incidental or       *
 59:  * consequential damages in connection with, or arising out of, the       *
 60:  * furnishing, performance, or use of these programs.                     *
 61:  *************************************************************************/