| startX | startY | endX | endY | |
|---|---|---|---|---|
| line 1 | L1X1: 0 | L1Y1: 140 | L1X2: 40 | L1Y2: 115 |
| line 2 | L2X1: L1X2 | L2Y1: L1Y2 | L2X2: houseX | L2Y2: 130 |
| line 3 | L3X1: houseX+houseW | L3Y1: 135 | L3X2: trunkX | L3Y2: 140 |
| line 4 | L4X1: trunkX+trunkW | L4Y1: L3Y2 | L4X2: width | L4Y2: 110 |
With all these new blanks filled in, the applet is complete. There was some work involved, but now this applet can be put on the Web and this fine art can be enjoyed by anyone in the World!
import javax.swing.JApplet;
import java.awt.*;
// assume that the drawing area is 350 by 250
public class HouseComplete extends JApplet
{
final int width = 350, height = 250;
final int houseX = 65, houseY = 100, houseW = 110, houseH = 110 ;
final int doorY = 165, doorW = 25, doorH = 40 ;
final int lWindX = 90, lWindY = 115, lWindW = 30, lWindH = 30 ;
final int rWindX = 130, rWindY = 115, rWindW = 30, rWindH = 30 ;
final int trunkX = 255, trunkY = 100, trunkW = 10, trunkH = 100 ;
// tree leaves
final int treeX = 200, treeY = 45, treeW = 125, treeH = 55 ;
final int L1X1 = 0, L1Y1 = 140, L1X2 = 40, L1Y2 = 115;
final int L2X1 = L1X2, L2Y1 = L1Y2, L2X2 = houseX, L2Y2 = 130;
final int L3X1 = houseX+houseW, L3Y1 = 135, L3X2 = trunkX, L3Y2 = 140;
final int L4X1 = trunkX+trunkW, L4Y1 = L3Y2, L4X2 = width, L4Y2 = 110;
final int roof1X1 = houseX, roof1Y1 = houseY;
final int roof1X2 = houseX + houseW/2, roof1Y2 = 50;
final int roof2X1 = roof1X2, roof2Y1 = roof1Y2;
final int roof2X2 = houseX + houseW, roof2Y2 = houseY;
final int doorX = houseX + houseW/2 - doorW/2;
public void paint ( Graphics gr )
{
gr.setColor( Color.orange ); // there is no color brown
gr.drawRect( houseX , houseY , houseW, houseH); // house
gr.fillRect( doorX , doorY , doorW , doorH ); // door
gr.drawRect( lWindX , lWindY , lWindW, lWindH); // lwind
gr.drawRect( rWindX , rWindY , rWindW, rWindH); // rwind
gr.fillRect( trunkX , trunkY , trunkW, trunkH); // trunk
gr.setColor( Color.green );
gr.fillOval( treeX, treeY, treeW, treeH );
gr.drawLine( L1X1, L1Y1, L1X2, L1Y2 ); // line 1
gr.drawLine( L2X1, L2Y1, L2X2, L2Y2 ); // line 2
gr.drawLine( L3X1, L3Y1, L3X2, L3Y2 ); // line 3
gr.drawLine( L4X1, L4Y1, L4X2, L4Y2 ); // line 4
gr.setColor( Color.green );
gr.drawLine( roof1X1, roof1Y1, roof1X2, roof1Y2 );
gr.drawLine( roof2X1, roof2Y1, roof2X2, roof2Y2 );
}
}
Here is the output of the applet:
If your entire objective was to draw this picture on the computer screen, is writing this program a sensible way to do so?