Question: In java programming, complete and modify the classes below one by one (there are three class below as Car, CarComponent, Carviewer) and write a driver

In java programming, complete and modify the classes below one by one (there are three class below as Car, CarComponent, Carviewer) and write a driver code for these classes to have car in the upper left corner moves to the right and the vehicle in the lower right corner moves to the left. Could you please clearly state the modifications that you will do by writing them with red.

//CarComponent.java import java.awt.Graphics; import java.awt.Graphics2D; import javax.swing.JComponent;

/** This component draws two car shapes. */ public class CarComponent extends JComponent { public void paintComponent(Graphics g) { Graphics2D g2 = (Graphics2D) g;

Car car1 = new Car(0, 0);

int x = getWidth() - 60; int y = getHeight() - 30;

Car car2 = new Car(x, y);

car1.draw(g2); car2.draw(g2); } }

//Car.java import java.awt.Graphics2D; import java.awt.Rectangle; import java.awt.geom.Ellipse2D; import java.awt.geom.Line2D; import java.awt.geom.Point2D;

/** A car shape that can be positioned anywhere on the screen. */ public class Car { private int xLeft; private int yTop;

/** Constructs a car with a given top left corner. @param x the x-coordinate of the top-left corner @param y the y-coordinate of the top-left corner */ public Car(int x, int y) { xLeft = x; yTop = y; }

/** Draws the car. @param g2 the graphics context */ public void draw(Graphics2D g2) { Rectangle body = new Rectangle(xLeft, yTop + 10, 60, 10); Ellipse2D.Double frontTire = new Ellipse2D.Double(xLeft + 10, yTop + 20, 10, 10); Ellipse2D.Double rearTire = new Ellipse2D.Double(xLeft + 40, yTop + 20, 10, 10);

// The bottom of the front windshield Point2D.Double r1 = new Point2D.Double(xLeft + 10, yTop + 10); // The front of the roof Point2D.Double r2 = new Point2D.Double(xLeft + 20, yTop); // The rear of the roof Point2D.Double r3 = new Point2D.Double(xLeft + 40, yTop); // The bottom of the rear windshield Point2D.Double r4 = new Point2D.Double(xLeft + 50, yTop + 10);

Line2D.Double frontWindshield = new Line2D.Double(r1, r2); Line2D.Double roofTop = new Line2D.Double(r2, r3); Line2D.Double rearWindshield = new Line2D.Double(r3, r4);

g2.draw(body); g2.draw(frontTire); g2.draw(rearTire); g2.draw(frontWindshield); g2.draw(roofTop); g2.draw(rearWindshield); } }

//CarViewer.java import javax.swing.JFrame;

public class CarViewer { public void viewCars() { JFrame frame = new JFrame();

frame.setSize(300, 400); frame.setTitle("Two cars"); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

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

frame.setVisible(true); } }

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!