NOTE The completed code must pass in the following compiler

NOTE: The completed 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_16

Write a program that draws a picture of a house. It could be as simple as the accompanying figure, or if you like, make it more elaborate (3-D, skyscraper, marble columns in the entryway, whatever). Implement a class House and supply a method draw(Graphics2D g2) that draws the house. Here is a sample program output: (example image found on above compiler link)

Use the following class as your main class:

Complete the following class in your solution:

Use the following class in your solution:

Solution

//House.java

import java.awt.Color;
import java.awt.Graphics2D;
import java.awt.RenderingHints;
import java.awt.geom.Line2D;

/**
* This class draws a house by allowing the user to specify houses of different
* sizes.
*/
public class House {

public int x;
public int y;

/**
* Constructor to initiate the bottom left corner
*
* @param x the left corner coordinate
* @param y the bottom corner coordinate
*/
public House(int x, int y) {
this.x = x;
this.y = y;
}

/**
* Draws the house
*
* @param g2 the graphics context
*/
public void draw(Graphics2D g2) {
g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING,
RenderingHints.VALUE_ANTIALIAS_ON);

g2.setPaint(Color.blue);
int x1 = x, y1 = y, x2 = 200, y2 = 200;
  
//first draw horizontal line
g2.draw(new Line2D.Double(x1, y1, x2, y2));
//find midpoints of aboveline and sustract y cordinate by 100 or any positive integer
int mx = Math.abs((x1+x2)/2);
int my = Math.abs((y1+y2)/2);
  
//draw tha line from both end of above line to the (mx,my)
g2.draw(new Line2D.Double(x1, y1, mx, my-100));
g2.draw(new Line2D.Double(x2, y2, mx, my-100));
  
//get the width of the line
int sqrWidth = Math.abs(x1-x2);
  
//draw tha squares
g2.drawRect (x1,y1,sqrWidth, sqrWidth);
g2.drawRect (mx-30,y1+50,20,50);
g2.drawRect (mx+10,y1+60,20,20);
  
}

}

NOTE: The completed code must pass in the following compiler. Please make absolutely sure it does before posting: http://codecheck.it/codecheck/files?repo=bj4fp
NOTE: The completed 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