Java Reference
In-Depth Information
to make use of an object of class Timer (a Swing class). Since the reader may be
unfamiliar with aspects of this technique, a little time will be taken to explain the
basic steps…
The Timer object takes two arguments:
￿
an integer delay (in milliseconds);
￿
a reference to an ActionListener .
The Timer object automatically calls method actionPerformed at intervals
prescribed by the above delay. The ActionListener can conveniently be the application
container itself, of course. Inside the actionPerformed method will simply be a call
to repaint , which automatically calls method paint (which cannot itself be called
directly). Each time that paint is called, it will display the next image from the
sequence of frames making up the animation. Inbuilt methods start and stop will be
called to start/stop the Timer .
The bean application class upon which the images will be displayed will extend
class JPanel . The images themselves will be held in ImageIcon s and paint will
display an individual image by calling ImageIcon method paintIcon on an individual
image. This method takes four arguments:
￿ a reference to the component upon which the image will be displayed (usually
this , for the application container);
￿ a reference to the Graphics object used to render this image (provided by the
argument to paint );
￿ the x-coordinate of the upper-left corner of the image's display position;
￿ the y-coordinate of the upper-left corner of the image's display position.
There is one fi nal point to note before we look at the code for this example:
￿
the BeanBox takes the size of the bean from method getPreferredSize of class
Componen t, which takes a Dimension argument specifying the container's width
and height.
Now for the code…
package animBeans;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class AnimBean1 extends JPanel
implements ActionListener
{
private ImageIcon[] image;
private String imageName = "juggler";
/*
The above string forms the fi rst part of the name for
Search WWH ::




Custom Search