Computer Science 252
Problem Solving with Java
Spring 2014, The College of Saint Rose
Knitting Demo
A working demo of Knitting will appear below. Click inside the applet to interact with it.
Knitting BlueJ Project
Click here to download a BlueJ project for Knitting.
Knitting Source Code
The Java source code for Knitting is below. Click on a file name to download it.
import objectdraw.*; import java.awt.*; /* * Example Knitting: make scarves * * Jim Teresco, Siena College, CSIS 120, Spring 2011 * The College of Saint Rose, Fall 2013 * Based on example from Williams College CSCI 134 * * $Id: Knitting.java 2218 2013-10-18 14:06:39Z terescoj $ */ public class Knitting extends WindowController { private static final int DIAMETER = 12; // diameter of a stitch // spacing between stitches -- will overlap private static final int X_DISP = 8; private static final int Y_DISP = 8; private static final int SCARF_WIDTH = 12; // num stitches per row private static final int SCARF_HEIGHT = 40; // num stitches per column private static final Color SCARF_COLOR = Color.blue; // scarf color public void begin() { new Text("Click to make a scarf", 10, 10, canvas); } // draws a scarf with upper left at point of click public void onMouseClick(Location point) { double y = point.getY(); // y position of the next "stitch" int numRows = 0; // draw SCARF_HEIGHT rows while (numRows < SCARF_HEIGHT) { double x = point.getX(); // / x position of the next "stitch" int numCols = 0; // draw one row consisting of SCARF_WIDTH circles while (numCols < SCARF_WIDTH) { FramedOval stitch = new FramedOval(x, y, DIAMETER, DIAMETER, canvas); stitch.setColor(SCARF_COLOR); x = x + X_DISP; numCols = numCols + 1; } y = y + Y_DISP; numRows = numRows + 1; } } }