import objectdraw.*; import java.awt.*; public class NestedSquaresV2Events extends FrameWindowController { private static final double UPPER_LEFT_X = 10; private static final double UPPER_LEFT_Y = 10; private static final double SIDE_SIZE = 300; private NestedSquaresV2 mySquares; private Location lastPoint; private boolean grabbed = false; public void begin() { mySquares = new NestedSquaresV2(UPPER_LEFT_X, UPPER_LEFT_Y, SIDE_SIZE, canvas); System.out.println("There are " + mySquares.countSquares() + " squares in this NestedSquares object"); } public void onMousePress(Location point) { mySquares.centerOnPoint(point); if (mySquares.contains(point)) { grabbed = true; lastPoint = point; } } public void onMouseRelease(Location point) { grabbed = false; } public void onMouseDrag(Location point) { if (grabbed) { mySquares.move(point.getX() - lastPoint.getX(), point.getY() - lastPoint.getY()); lastPoint = point; } } }