Java Reference
In-Depth Information
30
// register JSlider event listener
diameterJSlider.addChangeListener(
new ChangeListener() // anonymous inner class
{
// handle change in slider value
@Override
public void stateChanged(ChangeEvent e)
{
myPanel.setDiameter(diameterJSlider.getValue());
}
}
);
31
32
33
34
35
36
37
38
39
40
41
42
43
add(diameterJSlider, BorderLayout.SOUTH );
44
add(myPanel, BorderLayout.CENTER );
45
}
46
} // end class SliderFrame
Fig. 22.3 | JSlider value used to determine the diameter of a circle. (Part 2 of 2.)
1
// Fig. 22.4: SliderDemo.java
2
// Testing SliderFrame.
3
import javax.swing.JFrame;
4
5
public class SliderDemo
6
{
7
public static void main(String[] args)
8
{
9
SliderFrame sliderFrame = new SliderFrame();
10
sliderFrame.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
11
sliderFrame.setSize( 220 , 270 );
12
sliderFrame.setVisible( true );
13
}
14
} // end class SliderDemo
a) Initial GUI with
default circle
b) GUI after the user
moves the
JSlider 's thumb to
the right
Fig. 22.4 | Test class for SliderFrame .
Class OvalPanel (Fig. 22.2) contains a paintComponent method (lines 12-17) that
draws a filled oval (a circle in this example), a setDiameter method (lines 20-25) that
changes the circle's diameter and repaint s the OvalPanel , a getPreferredSize method
 
Search WWH ::




Custom Search