<< Chapter < Page | Chapter >> Page > |
The beginning of the class and an abbreviated version of the main method is provided in Listing 27 . Much of the code has been deleted from Listing 27 for brevity.
Listing 27. The class named PlotALot02 and the main method. |
---|
public class PlotALot02{
public static void main(String[]args){
PlotALot02 plotObjectA =new PlotALot02("A",158,237,36,5,4,4);for(int cnt = 0;cnt<275;cnt++){
double valBlack = (Math.random() - 0.5)*25;double valRed = -valBlack;
//Feed pairs of values to the plotting// object by calling the feedData method
// once for each pair of data values.if(cnt == 147){
plotObjectA.feedData(0,0);//...code deleted for brevity
}else{plotObjectA.feedData(valBlack,valRed);
}//end else}//end for loop
//Cause the data to be plotted in the default// screen location.
plotObjectA.plotData();}//end main |
The important thing to note in Listing 27 is that two data values must be passed to the feedData method each time it is called. This consists of one data value from each channel of data being plotted.
The modified feedData method is shown in its entirety in Listing 28 .
Listing 28. The feedData method. |
---|
void feedData(double valBlack,double valRed){
if((sampleCounter) == samplesPerPage){//if the page is full, increment the page
// counter, create a new empty page, and// reset the sample counter.
pageCounter++;sampleCounter = 0;
pageLinks.add(new Page(title));}//end if
//Store the sample values in the MyCanvas// object to be used later to paint the
// screen. Then increment the sample// counter. The sample values pass through
// the page object into the current MyCanvas// object.
pageLinks.get(pageCounter).putData(valBlack,valRed,sampleCounter);
sampleCounter++;}//end feedData |
The most significant things to note about the modified version of the feedData method are:
The modified putData method is shown in its entirety in Listing 29 . This modified version of the method receives a pair of data values and stores each ofthe data values in a different array object belonging to the MyCanvas object.
Listing 29. The putData method. |
---|
void putData(double valBlack,double valRed,
int sampleCounter){canvas.blackData[sampleCounter] = valBlack;canvas.redData[sampleCounter] = valRed;this.sampleCounter = sampleCounter;
}//end putData |
The modified version of the MyCanvas class begins in Listing 30 .
Listing 30. Beginning of the MyCanvas class. |
---|
class MyCanvas extends Canvas{
double []blackData =
new double[samplesPerPage];
double []redData =
new double[samplesPerPage]; |
Notification Switch
Would you like to follow the 'Digital signal processing - dsp' conversation and receive update notifications?