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