Complete the following files:

import java.awt.Color; import java.awt.Graphics2D; import java.awt.geom.Point2D; import java.awt.geom.Ellipse2D; /** This class implements a circle and a boolean function to test if a user-given point is inside this circle. */ public class Circle { private double xCenter; private double yCenter; private double radius; private Color color; /** Constructs a circle. @param x the x-coordinate of the center @param y the y-coordinate of the center @param r the radius @param aColor the color */ public Circle(double x, double y, double r, Color aColor) { xCenter = x; yCenter = y; radius = r; color = aColor; } /** Draws a circle and a point. @param g2 the graphics content */ public void draw(Graphics2D g2) { g2.setColor(color); Ellipse2D.Double circle = new Ellipse2D.Double(xCenter - radius, yCenter - radius, 2 * radius, 2 * radius); g2.draw(circle); } /** Determine if point is inside or outside the circle @param p the point to test if it is inside the circle @return true if the point is inside the circle */ public boolean isInside(Point2D.Double p) { . . . } }

import javax.swing.JComponent; import java.awt.Color; import java.awt.Graphics; import java.awt.Graphics2D; import java.awt.geom.Point2D; import java.awt.geom.Ellipse2D; import javax.swing.JOptionPane; /** Draws a circle and a point. The point is colored green if it falls inside the circle, red otherwise. */ public class CircleComponent extends JComponent { private Circle circle; private Circle smallCircle; public CircleComponent(Circle aCircle, Point2D.Double point) { circle = aCircle; final double SMALL_RADIUS = 3; Color color; if(. . .) color = Color.GREEN; else color = Color.RED; smallCircle = new Circle(point.getX(), point.getY(), SMALL_RADIUS, color); } public void paintComponent(Graphics g) { Graphics2D g2 = (Graphics2D) g; circle.draw(g2); smallCircle.draw(g2); } }

Use the following file:

import java.awt.Color;
import java.awt.geom.Point2D;
import javax.swing.*;

   This program views a circle and a point.
public class CircleViewer
   public static void main(String[] args)
      JFrame frame = new JFrame();

      final int FRAME_WIDTH = 400;
      final int FRAME_HEIGHT = 400;

      frame.setSize(FRAME_WIDTH, FRAME_HEIGHT);
      frame.add(new CircleComponent(
         new Circle(200, 200, 100, Color.BLACK),
         new Point2D.Double(150, 350)));
      frame.add(new CircleComponent(
         new Circle(100, 100, 50, Color.BLACK),
         new Point2D.Double(90, 90)));