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

The class begins by creating two different array objects in which incoming data is stored instead of just one array object. These are the objects that arepopulated by the putData method in Listing 29 .

The overridden paint method

The modified version of the overridden paint method begins in Listing 31 . Most of the code was deleted for brevity from Listing 31 because it is very similar to the code in the overridden paint method in the class namedPlotALot01.

Listing 31. Beginning of the overridden paint method.
public void paint(Graphics g){ //Draw horizontal axes//... code deleted for brevity//Plot the points. if(sampleCounter>0){ for(int cnt = 0;cnt<= sampleCounter; cnt++){//Compute a vertical offset. //...code deleted for brevity//Begin by plotting the values from // the blackData array object.//Draw an oval. g.setColor(Color.BLACK);//...code deleted for brevity//Connect the sample values with // straight lines.//...code deleted for brevity

Setting the drawing color

The most significant thing in Listing 31 is the call to the setColor method of the Graphics class to set the drawing color to black. Otherwise, the code is essentially the same as the code in the overridden paint method in PlotALot01 . The code in Listing 31 draws the black traces shown in Figure 2 .

New code in the overridden paint method

The overridden version of the paint method continues in Listing 32 . The code in Listing 32 is essentially all new code that was created to plot the second data set in red. However, the only real difference betweenthis code and code that I explained earlier with respect to the class named PlotALot01 is:

  • The drawing color has been set to red instead of the default color of black.
  • The data being plotted is the second set of data. This data is stored in the array object referred to by redData .

Otherwise, this code is essentially the same as the code that was used to plot the single data set in the overridden paint method in the class named PlotALot01 .

Listing 32. New code in the overridden paint method.
//Now plot the data stored in the // redData array object.g.setColor(Color.RED); //Draw the ovals as described above.g.drawOval(cnt*(sampSpacing + 1)% this.getWidth() - ovalWidth/2,yOffset - (int)redData[cnt]- ovalHeight/2, ovalWidth,ovalHeight);//Connect the sample values with // straight lines as described above.if(cnt*(sampSpacing + 1)% this.getWidth()>= sampSpacing + 1){g.drawLine( (cnt - 1)*(sampSpacing + 1)%this.getWidth(), yOffset - (int)redData[cnt-1], cnt*(sampSpacing + 1)%this.getWidth(), yOffset - (int)redData[cnt]);}//end if }//end for loop}//end if for sampleCounter>0 }//end overridden paint method}//end inner class MyCanvas }//end inner class Page}//end class PlotALot02

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