Tutorials : Java by Example : Section 3 :
Section Three Contents
Fonts, Random Numbers and Timers
Flicker Free Graphics, GIF and JPEG Display
Animation with GIF Pictures, Sprite Animation

Fonts and Graphics

Fonts, Random Numbers and Timers - Con't

This applet demonstrates how to use a thread, in order to generate periodically repeating events (here: produce and display a random number between 1 and 6). You just have to halt the thread for a given period (here: 1000 milliseconds = 1 second). To avoid the flickering you can observe here, we need to use double buffering. This technique is explained in the next applet.

//Sourcecode

import java.awt.*;
import java.applet.*;

//demonstrates the use of random numbers and the use of timer intervals.
//our class has to implement the "Runnable" interface, if we use threads

public class Project8 extends Applet implements Runnable
{
        Thread runner;
        int randomNumber;

        public void start()
        {
                if (runner == null)
                {
                    runner = new Thread (this);
                    runner.start();
                }
        }

            public void stop()
        {
              if (runner != null)
                {
                    runner.stop();
                    runner = null;
              }
        }

        public void run()
        {
                while(true)
                {
                    //halt the thread for 1 second here
                    try {runner.sleep(1000);}
                    catch (Exception e) { }

                    randomNumber=(int)(Math.random()*6)+1;
                    repaint();
                }
        }

        public void paint(Graphics g)
        {
                g.setColor(Color.red);
                g.setFont(new Font("Helvetica",Font.PLAIN,12));
                g.drawString
                ("A random number between 1 and 6 every second", 15,20);

                //we draw a drop shadow, shifted right and down
                g.setFont(new Font("Helvetica",Font.BOLD,180));
                g.setColor(Color.black);
                g.drawString(""+randomNumber, 105,215);

                g.setColor(Color.blue);
                g.drawString(""+randomNumber, 100,210);
        }
}

How to Add Java Applets to Your Site

New on the Java Boutique:

New Review:

Time Management Made Easy with the Quartz Enterprise Job Scheduler
Why not just use the Java timer API? This open source scheduling API boasts simplicity, ease-of-integration, a well-rounded feature set, and it's free!

New Applet:

Reverse Complement
Reverse Complement is a simple applet that converts DNA or RNA sequences into three useful formats.

Elsewhere on internet.com:

WebDeveloper Java
Lots of Java information on webdeveloper.com

WDVL Java
Thorough Java resource at the Web Developer's Virtual Library.

ScriptSearch Java
Hundreds of free Java code files to download.

jGuru: Your View of the Java Universe
Customizable portal with online training, FAQs, regular news updates, and tutorials.