<< Chapter < Page | Chapter >> Page > |
The program also causes a red skater in a green background (see Figure 1 ) to be given a red tint and then drawn on the snow scene at the location of thered-tinted ellipse. The effect is that of a spotlight with a red tint shining on the skater (see Figure 4 ) .
Will discuss in fragments
I will discuss this program in fragments. A complete listing of the program is provided in Listing 10 near the end of the module.
The driver class named Prob04
The driver class containing the main method is shown in Listing 1 .
Listing 1 - The driver class named Prob04. |
---|
import java.awt.Color;
public class Prob04{public static void main(String[] args){Prob04Runner obj = new Prob04Runner();
obj.run();}//end main
}//end class Prob04 |
As has been the case in several earlier modules, the code in the main method instantiates an object of the class named Prob04Runner and calls the run method on that object.
When the run method returns, the main method terminates causing the program to terminate.
Beginning of the class named Prob04Runner
The class named Prob04Runner begins in Listing 2 .
Listing 2 - Beginning of the class named Prob04Runner. |
---|
class Prob04Runner{
public Prob04Runner(){//constructorSystem.out.println("Display your name here.");
}//end constructor |
Listing 2 shows the constructor for the class, which simply displays the student's name on the command line screen as shownin Figure 5 .
Beginning of the run method
The beginning of the run method, which is called in Listing 1 , is shown in Listing 3 .
Listing 3 - Beginning of the run method. |
---|
public void run(){
Picture skater = new Picture("Prob04a.bmp");skater.explore();
skater = crop(skater,6,59,392,293);Picture hole = new Picture("Prob04b.bmp");
hole.explore();hole = crop(hole,6,59,392,293);
Picture snowScene = new Picture("Prob04c.jpg");snowScene.explore();
snowScene = crop(snowScene,6,59,392,293); |
Instantiate and display three Picture objects
The code in Listing 3 instantiates Picture objects from the three image files and displays those pictures in Figure 1 , Figure 2 , and Figure 3 .
Crop the pictures
Note that the images in those three pictures contain the Alice runtime window controls as a banner that reads World Running... and a line of buttons.
The method named crop
Listing 3 calls a method named crop on all three Picture objects to eliminate the Alice runtime controls. Note that the same rectangular area is preserved for all three images. Thus, allthree images are the same size after cropping.
The cropped snow scene image
If you were to display the picture whose reference is stored in the variable named snowScene after the crop method returns, you would see the image shown in Figure 6 with the Alice runtime controls no longer visible.
Figure 6 - Cropped version of the snow scene image.
The crop method
The method named crop that was used to crop the three pictures is essentially the same as the cropping methods that I explained in earliermodules. Therefore, I won't repeat that explanation here. You can view the crop method in its entirety in Listing 10 near the end of the module.
Notification Switch
Would you like to follow the 'Object-oriented programming (oop) with java' conversation and receive update notifications?