/Users/lyon/j4p/src/javassist/sample/duplicate/Ball.java
|
1 package javassist.sample.duplicate;
2
3 import java.awt.Graphics;
4 import java.awt.Color;
5
6 public class Ball {
7 private int x, y;
8 private Color color;
9 private int radius = 30;
10 private boolean isBackup = false;
11
12 public Ball(int x, int y) {
13 move(x, y);
14 changeColor(Color.orange);
15 }
16
17 // This constructor is for a backup object.
18 public Ball(Ball b) {
19 isBackup = true;
20 }
21
22 // Adjust the position so that the backup object is visible.
23 private void adjust() {
24 if (isBackup) {
25 this.x += 50;
26 this.y += 50;
27 }
28 }
29
30 public void paint(Graphics g) {
31 g.setColor(color);
32 g.fillOval(x, y, radius, radius);
33 }
34
35 public void move(int x, int y) {
36 this.x = x;
37 this.y = y;
38 adjust();
39 }
40
41 public void changeColor(Color color) {
42 this.color = color;
43 }
44 }
45