public void paint(Graphics g) {

      g.setColor(Color.white);
      g.fillRect(LEFT_BORDER, TOP_BORDER, cols*SQUARE_SIZE, rows*SQUARE_SIZE);
      g.setColor(Color.blue);
      g.drawRect(LEFT_BORDER, TOP_BORDER, cols*SQUARE_SIZE, rows*SQUARE_SIZE);

      //set the color for drawing circles

            g.setColor(Color.blue.darker());
      //draw circles if the cell is on.
      for (int ycnt=0; ycnt<rows; ycnt++) {
        for (int xcnt=0; xcnt<cols; xcnt++) {
          if (cells[xcnt][ycnt]!=0) {
            g.fillOval(LEFT_BORDER+(xcnt*SQUARE_SIZE),
			   TOP_BORDER+(ycnt*SQUARE_SIZE),
               SQUARE_SIZE,SQUARE_SIZE);
          }
        }
      }
      //this creates the grid
      int acrossA=LEFT_BORDER; //leftborder
      int acrossB=acrossA + (cols*SQUARE_SIZE);  //matches LeftBorder of Bacllayout
      int downA=TOP_BORDER;   //matches top border lentgh
      int downB=downA + (rows*SQUARE_SIZE);

      g.setColor(Color.blue);
      //draw horizontal lines
      for (int row=1; row < rows; row++) 
	    {
        if ((row%10) == 0) 
          g.setColor(new Color(210,23,45));
		int j = downA + (row*SQUARE_SIZE);  
        g.drawLine(acrossA,j,acrossB,j);
        g.setColor(Color.blue);
      }

      //draw vertical lines
      for(int col=0; col < cols; col++) {
        if ((col % 10) == 0)
          g.setColor(Color.red);
        int i = acrossA + (SQUARE_SIZE*col);
        g.drawLine(i,downA,i,downB);
        g.setColor(Color.blue);
      } 
	  
	  printStrings(g);
    }