public class SliderFrame extends JFrame
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: *************************************************************************/