<< Chapter < Page
  Digital signal processing - dsp     Page 12 / 27
Chapter >> Page >

(A different overloaded version, which I will discuss later, accepts a title string only and sets all of the plotting parameters to defaultvalues.)

Listing 6. The first overloaded constructor.
PlotALot01(String title,//Frame title int frameWidth,//in pixelsint frameHeight,//in pixels int traceSpacing,//in pixelsint sampSpace,//in pixels per sample int ovalWidth,//sample marker widthint ovalHeight)//sample marker hite {//constructor code continues here

Listing 6 shows the signature for this overloaded version of the constructor. The comments should make the code self explanatory.

Save the parameter values

With one exception, the code in Listing 7 simply saves the incoming parameter values in instance variables to make those values available to other members ofthe class.

Listing 7. Save the parameter values.
this.title = title; this.frameWidth = frameWidth;this.frameHeight = frameHeight; this.traceSpacing = traceSpacing;//Convert to pixels between samples. this.sampSpacing = sampSpace - 1;this.ovalWidth = ovalWidth; this.ovalHeight = ovalHeight;

The exception

The exception has to do with the parameter named sampSpace . This parameter is provided by the user in units of pixels per sample, becausethat seems to be the most natural way for a human to specify this plotting parameter. However, for computational purposes, it is better to have the valueof the number of pixels between samples, which is one less than the number of pixels per sample. This conversion is made during the saving of this parameterin Listing 7 .

A temporary Page object

As you will see later, the Page class consists of a Canvas contained in an AWT Frame . Because an AWT Frame takes on the look and feel of the operating system under which the program is running, it may be constructed differently under differentoperating systems. Many important plotting parameters depend on the size of the Canvas , which depends on the values of the insets (border width) for the Frame for that particular operating system.

(A good exercise would be for you to convert this class to Swing using a look and feel that is independent of the operating system.)

The code in Listing 8 instantiates a temporary Page object solely for the purpose of obtaining information about the width and the height of the Canvas object. This information is used later to compute a variety of other importantparameter values.

Listing 8. A temporary Page object.
Page tempPage = new Page(title);int canvasWidth = tempPage.canvas.getWidth(); int canvasHeight =tempPage.canvas.getHeight();

Display some information

Listing 9 gets and displays information about the plotting object on the command line screen. An example of thisoutput was shown earlier.

Listing 9. Display some information.
//Display information about this plotting // object.System.out.println("\nTitle: " + title); System.out.println("Frame width: " + tempPage.getWidth()); System.out.println("Frame height: " + tempPage.getHeight()); System.out.println("Page width: " + canvasWidth); System.out.println("Page height: " + canvasHeight); System.out.println("Trace spacing: " + traceSpacing); System.out.println("Sample spacing: " + (sampSpacing + 1)); if(sampSpacing<0){ System.out.println("Terminating");System.exit(0); }//end if

Get Jobilize Job Search Mobile App in your pocket Now!

Get it on Google Play Download on the App Store Now




Source:  OpenStax, Digital signal processing - dsp. OpenStax CNX. Jan 06, 2016 Download for free at https://legacy.cnx.org/content/col11642/1.38
Google Play and the Google Play logo are trademarks of Google Inc.

Notification Switch

Would you like to follow the 'Digital signal processing - dsp' conversation and receive update notifications?

Ask