Java Reference
In-Depth Information
Display 18.17
An Action Drawing
(part 1 of 3)
1
import
javax.swing.JFrame;
2
import
javax.swing.JButton;
3
import
java.awt.event.ActionListener;
4
import
java.awt.event.ActionEvent;
5
import
java.awt.BorderLayout;
6
import
java.awt.Graphics;
7
import
java.awt.Color;
8
public class
ActionFace
extends
JFrame
9{
10
public static final int
WINDOW_WIDTH = 400;
11
public static final int
WINDOW_HEIGHT = 400;
12
public static final int
FACE_DIAMETER = 200;
13
public static final int
X_FACE = 100;
14
public static final int
Y_FACE = 100;
15
public static final int
EYE_WIDTH = 20;
16
public static final int
EYE_HEIGHT = 10;
17
public static final int
X_RIGHT_EYE = X_FACE + 55;
18
public static final int
Y_RIGHT_EYE = Y_FACE + 60;
19
public static final int
X_LEFT_EYE = X_FACE + 130;
20
public static final int
Y_LEFT_EYE = Y_FACE + 60;
21
public static final int
MOUTH_WIDTH = 100;
22
public static final int
MOUTH_HEIGHT = 50;
23
public static final int
X_MOUTH = X_FACE + 50;
24
public static final int
Y_MOUTH = Y_FACE + 100;
25
public static final int
MOUTH_START_ANGLE = 180;
26
public static final int
MOUTH_ARC_SWEEP = 180;
27
private boolean
wink;
28
private class
WinkAction
implements
ActionListener
29
{
30
public void
actionPerformed(ActionEvent e)
31
{
32
wink =
true
;
33
repaint();
34
}
35
}
// End of WinkAction inner class
(continued)