<< Chapter < Page Chapter >> Page >

The same thing happens if we do override the draw method but leave the body empty. Therefore, the physical creation of the display window isbeing accomplished in the framework by code outside the draw method. The draw method simply controls the contents of the display window.

Code in the Cars class

Instance variables of type Car

The code in the Cars class (see Listing 2 ) begins by declaring two instance variables of the class named Car . By default, these two instance variables are initialized to null, meaning that they don'tcontain references to objects.

The inherited size method

The setup method begins by calling the method named size , which is inherited from the PApplet class. The documentation for the size method reads partially as follows:

"Defines the dimension of the display window in units of pixels. The size() function must be the first line in setup() . If size() is not used, the default size of the window is 100x100 pixels. The system variables width and height are set by the parameters passed to this function.

Do not use variables as the parameters to size() function, because it will cause problems when exporting your sketch. Whenvariables are used, the dimensions of your sketch cannot be determined during export. Instead, employ numeric values in the size() statement, and then use the built-in width and height variables inside your program when the dimensions of the display window are needed.

The size() function can only be used once inside a sketch, and cannot be used for resizing."

The display window

In case you were wondering about the type of object shown in Image 1 , here is some information from the PApplet documentation.

"This class extends Applet instead of JApplet because 1) historically, we supported Java 1.1, which does not include Swing (without an additional,sizable, download), and 2) Swing is a bloated piece of crap. A Processing applet is a heavyweight AWT component, and can be used the same as any other AWTcomponent, with or without Swing.

Similarly, Processing runs in a Frame and not a JFrame. However, there's nothing to prevent you from embedding a PApplet into a JFrame, it's just thatthe base version uses a regular AWT frame because there's simply no need for Swing in that context. If people want to use Swing, they can embed themselves asthey wish."

Stated differently, the display window that you see in Image 1 is a standard java.awt.Frame object.

Instantiate Car objects

After setting the size of the display window, the setup method in Listing 2 instantiates two objects of the Car class and saves the object's references in the instance variables named myCar1 and myCar2 .

We haven't discussed the constructor for the Car class yet, but we can see in Listing 2 that the constructor for one Car object is passed a color value of pure red and the constructor for the other Car object is passed a color value of pure blue.

Let's talk about color

If you are an experienced Java programmer, what I am about to tell you is going to seem really strange.

Primitive types

As an experienced Java programmer, you know that the Java language defines the following eight primitive types:

Get Jobilize Job Search Mobile App in your pocket Now!

Get it on Google Play Download on the App Store Now




Source:  OpenStax, The processing programming environment. OpenStax CNX. Feb 26, 2013 Download for free at http://cnx.org/content/col11492/1.5
Google Play and the Google Play logo are trademarks of Google Inc.

Notification Switch

Would you like to follow the 'The processing programming environment' conversation and receive update notifications?

Ask