Polylines

For the next checkpoint, you will write an application that will parse data from a text file that contains instructions for drawing some simple graphics. Each line of the file describes a polyline, that is, a sequence of points with line segments drawn between them. We'll encapsulate the data for one polyline in an object of type Polyline, and we'll draw everything using an application called Plotter. The code for these is provided for you in a jar file.

To start out, let's try an example to see how it works. First import the jar file polyline_plotter.jar into your project and add it to the build path (just as you would a specchecker). Then, try running the code TestPlotter.java The main method looks like this:

  public static void main(String[] args)
  {    
    // make a red square using default line width of one pixel
    Polyline pl = new Polyline("red");
    pl.addPoint(new Point(100, 100));
    pl.addPoint(new Point(200, 100));
    pl.addPoint(new Point(200, 200));
    pl.addPoint(new Point(100, 200));
    pl.addPoint(new Point(100, 100));
    
    // make a blue triangle with a line width of 2 pixels
    Polyline pl2 = new Polyline("blue", 2);
    pl2.addPoint(new Point(250, 100));
    pl2.addPoint(new Point(400, 350));
    pl2.addPoint(new Point(100, 350));
    pl2.addPoint(new Point(250, 100));
    
    // make some green zig-zags with a thick line
    Polyline pl3 = new Polyline("green", 6);
    pl3.addPoint(new Point(100, 400));
    pl3.addPoint(new Point(200, 450));
    pl3.addPoint(new Point(300, 400));
    pl3.addPoint(new Point(400, 450));
    
    // plot the three polylines using the plotter
    Plotter plotter = new Plotter();
    plotter.plot(pl);
    plotter.plot(pl2);
    plotter.plot(pl3);
  }
Drawing takes place on a window that is roughly 500 by 500 pixels. Points are specified using integer coordinates. The upper-left corner is (0, 0), where x-coordinates increase from left to right and y-coordinates increase from top to bottom.

To construct a Polyline object, we specify one of several possible colors, and optionally a line width in pixels. Then we use the addPoint method to add points to the polyline. The plotter will start at the first point given and draw a line segment between each successive pair of points. (The Point class comes from the package java.awt, see the import statements at the top of the TestPlotter.java file.)

When we have one or more polylines to plot, we can create a Plotter and call the plot method for each polyline.

For more details you can consult the javadoc for Plotter and the javadoc for Polyline.

The code above produces the following:

Plotter screenshot