Circle.java (1539B)
1 import java.awt.*; 2 import java.awt.geom.*; 3 4 public class Circle { 5 private int diamiter; 6 private int x; 7 private int y; 8 private String color; 9 private boolean isVisible; 10 11 public Circle() { 12 diamiter = 30; 13 x = 40; 14 y = 30; 15 color = "blue"; 16 isVisible = true; 17 } 18 19 public int getDiamiter() { 20 return diamiter; 21 } 22 23 public int getX() { 24 return x; 25 } 26 27 public int getY() { 28 return y; 29 } 30 31 public String getColor() { 32 return color; 33 } 34 35 public boolean getisVisible() { 36 return isVisible; 37 } 38 39 public String toString() { 40 return "diamiter: " + diamiter + 41 ", x: " + x + 42 ", y: " + y + 43 ", color: " + color + 44 ", visible: " + isVisible; 45 } 46 47 public void draw() { 48 if (isVisible) { 49 Canvas canv = Canvas.getCanvas(); 50 canv.draw(this, color, new Ellipse2D.Double(x, y, diamiter, diamiter)); 51 canv.wait(10); 52 } 53 } 54 55 private void erase() { 56 if (isVisible) { 57 Canvas canv = Canvas.getCanvas(); 58 canv.erase(this); 59 } 60 } 61 62 public void move(int newX, int newY) { 63 erase(); 64 x = newX; 65 y = newY; 66 draw(); 67 } 68 69 public void makeVisible() { 70 isVisible = true; 71 draw(); 72 } 73 74 public void makeInvisible() { 75 erase(); 76 isVisible = false; 77 } 78 79 public void changeColor(String newColor) { 80 color = newColor; 81 draw(); 82 } 83 84 public void changeSize(int newDiamiter) { 85 erase(); 86 diamiter = newDiamiter; 87 draw(); 88 } 89 90 public void moveLeft() { 91 move(x - 10, y); 92 }; 93 94 public void moveRight() { 95 move(x + 10, y); 96 }; 97 98 public void moveUp() { 99 move(x, y - 10); 100 }; 101 102 public void moveDown() { 103 move(x, y + 10); 104 }; 105 };