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);
}
}
|
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.