Shape.java
上传用户:sdzznc
上传日期:2022-07-23
资源大小:51k
文件大小:1k
源码类别:

绘图程序

开发平台:

Java

  1. // Copyright by Scot Drysdale
  2. package cn.edu.nju.software.grapheditor.shape;
  3. import java.awt.Color;
  4. import java.awt.Graphics;
  5. import java.awt.Point;
  6. public abstract class Shape {
  7. private Color color; // Shape's color
  8. public abstract void drawShape(Graphics page); // draw the Shape
  9. public abstract boolean containsPoint(Point p); // does the Shape contain
  10. // Point p?
  11. public abstract void move(int deltaX, int deltaY); // move the Shape
  12. public abstract Point getCenter(); // return the Shape's center
  13. // Create a Shape, setting its color.
  14. public Shape(Color c) {
  15. color = c;
  16. }
  17. // Set the Shape's color.
  18. public void setColor(Color newColor) {
  19. color = newColor;
  20. }
  21. // Draw the Shape.
  22. public void draw(Graphics page) {
  23. Color savedColor = page.getColor();
  24. page.setColor(color);
  25. drawShape(page);
  26. page.setColor(savedColor);
  27. }
  28. // Move the Shape to be a given center.
  29. public void setCenter(Point newCenter) {
  30. Point oldCenter = getCenter();
  31. move(newCenter.x - oldCenter.x, newCenter.y - oldCenter.y);
  32. }
  33. }