Functions and Arrays
Digital Clocks, HTML Page Parameters
Displaying a simple digital clock is not difficult. The following code demonstrates this. You need an offscreen image for flicker free animation though. with Date today=new Date(); we create an object (a variable) of the class Date. To access it, we have to import java.util.* With getSeconds() etc. we retrieve the seconds of the current time as an integer. This is transformed into a String and displayed. We redraw everything 10 times a second, to get the precise seconds jump.
|
//Sourcecode
import java.awt.*;
import java.applet.*;
//we need to import the util package for the time functions
import java.util.*;
public class Project18 extends Applet implements Runnable
{
Thread runner;
Image Buffer;
Graphics gBuffer;
public void init()
{
//create off-screen image we can draw to
Buffer=createImage(size().width,size().height);
gBuffer=Buffer.getGraphics();
}
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 100 ms here
try {runner.sleep(100);}
catch (Exception e) { }
repaint();
}
}
public void update(Graphics g)
{
paint(g);
}
public void paint (Graphics g)
{
//create a new time object
Date today=new Date();
//get the seconds, minutes and hours
int sec=today.getSeconds();
int min=today.getMinutes();
int hour=today.getHours();
String secStr, minStr, hourStr;
//copy the time integers to our string objects
//if values are less than 10 we add a 0
if(hour<10)
hourStr="0"+hour;
else
hourStr=""+hour;
if(min<10)
minStr="0"+min;
else
minStr=""+min;
if(sec<10)
secStr="0"+sec;
else
secStr=""+sec;
//repaint the background black
gBuffer.setColor(Color.black);
gBuffer.fillRect(0,0,size().width,size().height);
//set a new font we create "on the fly"
gBuffer.setFont(new Font("Helvetica", Font.BOLD,65));
gBuffer.setColor(Color.green);
gBuffer.drawString(hourStr+":"+minStr+":"+secStr,20,73);
//copy the buffer to the screen (no flickering!)
g.drawImage (Buffer,0,0, this);
}
}
|
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.
|