NOTE The following code must pass in the following compiler

NOTE: The following code must pass in the following compiler. Please make absolutely sure it does before posting: http://codecheck.it/codecheck/files?repo=bj4fp&problem=ch03/c03_exp_3_15

Draw a \"bull\'s eye\" - a set of concentric rings in alternating black and white colors. Hint: Fill a black circle, then fill a smaller white circle on top, and so on. Your program should be composed of classes BullsEye, BullsEyeComponent, and BullsEyeViewer. Here is a sample program output: (example image found on above link)

Use the following class as your main class:

Complete the following class in your solution:

Use the following class in your solution:

Solution

*******************************BullsEyeViewer.java*********************************************


package bullseye;
import javax.swing.JFrame;

/*
Displays a \"bull\'s eye\".
*/
public class BullsEyeViewer
{
public static void main(String[] args)
{
JFrame frame = new JFrame();

frame.setSize(220, 240);
frame.setTitle(\"BullsEye\");
  

BullsEyeComponent component = new BullsEyeComponent();
frame.add(component);

frame.setVisible(true);
  
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}

*****************************************BullsEye.java***********************************************


package bullseye;
import java.awt.BasicStroke;
import java.awt.Color;
import java.awt.Graphics2D;
import java.awt.geom.Ellipse2D;

public class BullsEye
{
/**
Creates a new instance of BullsEye.
@param r the radius
@param x the center x-coordinate
@param y the center y-coordinate
*/
int rad;
int x_co;
int y_co;
public BullsEye(int r, int x,int y)
{
rad=r;
x_co=x;
y_co=y;
  
}

/*
Draws the bull\'s eye.
@param g2 the graphics context
*/
public void draw(Graphics2D g2)
{
while (rad >= 10) {
g2.setStroke(new BasicStroke(8F));
if(rad<=10){
Ellipse2D.Double circle = new Ellipse2D.Double(x_co-rad,y_co-rad,2*rad,2*rad);
g2.fill(circle);
}
else{
g2.drawOval(x_co-rad,y_co-rad,2*rad,2*rad);
}
rad = rad-20;
}
}


}

***************************************BullsEyeComponent.java****************************************

/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/

package bullseye;
import javax.swing.JComponent;
import java.awt.Graphics;
import java.awt.Graphics2D;

/*
Displays a bull\'s eye.
*/
public class BullsEyeComponent extends JComponent
{
public void paintComponent(Graphics g)
{
Graphics2D g2 = (Graphics2D) g;
  
int radius = 50;
int xCenter = 100;
int yCenter = 100;
BullsEye be = new BullsEye(radius, xCenter, yCenter);
be.draw(g2);
}
}

NOTE: The following code must pass in the following compiler. Please make absolutely sure it does before posting: http://codecheck.it/codecheck/files?repo=bj4fp
NOTE: The following code must pass in the following compiler. Please make absolutely sure it does before posting: http://codecheck.it/codecheck/files?repo=bj4fp

Get Help Now

Submit a Take Down Notice

Tutor
Tutor: Dr Jack
Most rated tutor on our site