Question
In java complete and modify code below and write a driver code for it to have vehicle in the upper left corner moves to the
In java complete and modify code below and write a driver code for it to have vehicle in the upper left corner moves to the right and the vehicle in the lower right corner moves to the left.
//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
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started