Java Reference
In-Depth Information
19
// validate and set diameter, then repaint
20
public void setDiameter( int newDiameter)
21
{
22
// if diameter invalid, default to 10
23
diameter = (newDiameter >= 0 ? newDiameter : 10 );
24
repaint(); // repaint panel
25
}
26
27
// used by layout manager to determine preferred size
28
public Dimension getPreferredSize()
29
{
30
return new Dimension( 200 , 200 );
31
}
32
33
// used by layout manager to determine minimum size
public Dimension getMinimumSize()
{
return getPreferredSize();
}
34
35
36
37
38
} // end class OvalPanel
Fig. 22.2 | JPanel subclass for drawing circles of a specified diameter. (Part 2 of 2.)
1
// Fig. 22.3: 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
7
import javax.swing.JSlider;
import javax.swing.SwingConstants;
8
9
10
11
import javax.swing.event.ChangeListener;
import javax.swing.event.ChangeEvent;
public class SliderFrame extends JFrame
12
{
13
private final JSlider diameterJSlider; // slider to select diameter
14
private final 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 );
23
24
// set up JSlider to control diameter value
diameterJSlider =
new JSlider( SwingConstants.HORIZONTAL , 0 , 200 , 10 );
diameterJSlider.setMajorTickSpacing( 10 ); // create tick every 10
diameterJSlider.setPaintTicks( true ); // paint ticks on slider
25
26
27
28
29
Fig. 22.3 | JSlider value used to determine the diameter of a circle. (Part 1 of 2.)
Search WWH ::




Custom Search