BasketDemo.java
import objectdraw.*;
import java.awt.*;
/**
* Demonstrates the creation of a "fancy" laundry basket
*/
public class BasketDemo extends WindowController
{
// Constants controlling basket locations
private static final int BASKET_TOPS = 120;
private static final int BASKET_LEFT = 20;
private static final int BASKET_OFFSET = 100;
/**
* a basket for white laundry.
*/
private LaundryBasket white;
/**
* Initializes the applet by constructing all the objects.
*/
public void begin()
{
white =new LaundryBasket(BASKET_LEFT + 0*BASKET_OFFSET,
BASKET_TOPS, canvas);
}
}
LaundryBasket.java
import objectdraw.*;
import java.awt.*;
// A class of objects that look a bit like laundry
// baskets
public class LaundryBasket {
// Constants controlling basket sizes
private static final int BASKET_SIZE = 80;
private static final int BASKET_HEIGHT = 40;
// difference between top and bottom ends
private static final int INSET = 9;
// separation between lines in basket body
private static final int LINESEP = 5;
// Create a new laundry basket
//
// x,y -- location of basket's upper left corner
// canvas - the drawing canvas
public LaundryBasket( double x, double y, DrawingCanvas canvas) {
double topLineX, botLineX;
// top of the basket
new Line(x, y, x+BASKET_SIZE, y, canvas);
// bottom of the basket
new Line(x+INSET, y+BASKET_HEIGHT,
x+BASKET_SIZE-INSET, y+BASKET_HEIGHT, canvas);
topLineX = x;
botLineX = x+INSET;
while ( topLineX <= x+BASKET_SIZE) {
new Line(topLineX, y, botLineX, y+BASKET_HEIGHT, canvas);
topLineX = topLineX + LINESEP;
botLineX = botLineX + LINESEP*(BASKET_SIZE-2.0*INSET)/BASKET_SIZE;
}
}
}