<< Chapter < Page | Chapter >> Page > |
In addition, Listing 9 tests to confirm that the number of pixels between samples is not a negative value. If it is a negative value, Listing 9 terminates the program immediately after the number of pixels per sample has been displayed
Once the width and height of the Canvas has been determined, the temporary Page object is no longer needed. Listing 10 disposes of that object freeing all of the resources dedicated to the object.
Listing 10. Dispose of the temporary Page object. |
---|
tempPage.dispose(); |
Having determined the width and height of the Canvas , Listing 11 computes and displays the remaining plotting parameters. The expressions used to compute these values are straightforward and shouldn'trequire further explanation.
Listing 11. Compute and display the remaining plotting parameters. |
---|
tracesPerPage =
(canvasHeight - traceSpacing/2)/traceSpacing;
System.out.println("Traces per page: "+ tracesPerPage);
if(tracesPerPage == 0){System.out.println("Terminating program");
System.exit(0);}//end if
samplesPerPage = canvasWidth * tracesPerPage/(sampSpacing + 1);
System.out.println("Samples per page: "+ samplesPerPage); |
In addition, Listing 11 terminates the program if it is determined that the number of traces per page is equal to zero. The reason for this should beobvious to the reader. If termination does occur, it occurs immediately after the number of traces per page has been displayed.
Listing 12 instantiates the first usable Page object. (Recall that a temporary Page object was instantiated and disposed of earlier.) This Pageobject will be titled title Page: 0 as indicated in Figure 1 and Figure 5 .
Listing 12. Instantiate first usable Page object. |
---|
pageLinks.add(new Page(title));
}//end constructor |
Note that a reference to this Page object (and all subsequently instantiated Page objects) is saved in an object of type ArrayList referred to by pageLinks .
Listing 12 also signals the end of this constructor for the PlotALot01 class.
A second overloaded constructor is provided for those who don't want to have to think about plotting parameters. This constructor, which is shown in itsentirety in Listing 13 , establishes a set of default plotting parameters.
(In case you are unfamiliar with the use of the keyword this to cause one constructor to call another constructor of the same class, you can learnabout that topic in my module titled The Essence of OOP using Java, The this and super Keywords .)
Listing 13. The other overloaded constructor . |
---|
PlotALot01(String title){
this(title,400,410,50,2,2,2);}//end overloaded constructor |
This is where the default plotting parameters are specified as having the following values:
Notification Switch
Would you like to follow the 'Digital signal processing - dsp' conversation and receive update notifications?