Buildings

Buildings is a program to paint three identical buildings by refining a given framework.

Code

/*
 * Buildings.java
 */

package programs;

import clay.canvas.ClayCanvas;
import clay.math.ClayPoint;
import clay.shapes.ClayCircle;
import clay.shapes.ClayRectangle;
import clay.shapes.ClaySquare;
import java.awt.Color;
import java.awt.Frame;
import java.awt.GridLayout;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;

public class Buildings {
    
    public Buildings() {
    }
    
    public static void main(String[] args) {
        BuildingsFrame cc = new BuildingsFrame("Buildings");
        cc.setVisible(true);
        cc.canvas().initializeImage();
        paintBuildings();
    }

    private static void paintBuildings() {
        paintLeftBuilding();
        paintCenterBuilding();
        paintRightBuilding();
    }


    private static void paintLeftBuilding() {
        moveLeft();
        paintOneBuilding();
        moveRight();
    }

    private static void paintCenterBuilding() {
        paintOneBuilding();
    }

    private static void paintRightBuilding() {
        moveRight();
        paintOneBuilding();
        moveLeft();
    }

    private static void moveLeft() {
        throw new UnsupportedOperationException("Not yet implemented");
    }

    private static void moveRight() {
        throw new UnsupportedOperationException("Not yet implemented");
    }

    private static void paintOneBuilding() {
        throw new UnsupportedOperationException("Not yet implemented");
    }

}

class BuildingsFrame extends Frame {
    
    private ClayCanvas canvas = new ClayCanvas();  

    public ClayCanvas canvas()
    {
        return canvas;
    }
    

    public int width() {
        return canvas.width();
    }
    
    public int height() {
        return canvas.height();
    }


    public BuildingsFrame(String title)
    {
        super(title);
        setSize(500,500);
        setLayout(new GridLayout(1,1));
        add(canvas);
        addWindowListener(new CloseWindow());
    }  
    
    class CloseWindow extends WindowAdapter {
        public CloseWindow() {
        }
    
        public void windowClosing(WindowEvent event) {
            System.exit(0);
        }
    }

}

<Questions>

  1. ?