Program
Blink of an eye a year again, oneself again old one year old, depressed ah. Take advantage of some Zhong Cai New year, and quickly send a few more articles to add something to the past year.
The program is found from the Internet and is a simple clock display program.
Code Features:
The clock code provides a variety of interfaces that can be set in HTML files, changing the colorful clock model,
Parameter description see inside the code info array
The clock drawing uses the double buffering graph processing mechanism, namely draws the graph in the buffer first, then displays the graph to the webpage to be able to prevent the flicker effectively.
In addition, the clock is constantly drawn through a thread to continuously read the system time, if the time has changed to draw. With one thread drawing, a thread processing Web page is more compliant with the Applet Setup specification.
Code section:
Import java.awt.*;
Import java.applet.*;
Import java.util.*;
Import java.net.*;
Class Hms extends Date
{
Public Hms (double localoffset) {//If the time zone is set in the HTML file, set it to the local time zone
Super ();
Long Tzoffset=gettimezoneoffset () *60l*1000l;
Localoffset *= 3600000.0;
SetTime (GetTime () + Tzoffset + (long) localoffset);
}
Public Hms () {//If no time zone is set, use local time
Super ();
}
Public double get_hours ()//Time conversion, converting a time like 5:30 to 5.5
{
Return (double) super.gethours () + (double) getminutes ()/60.0;
}
}
Abstract class Clockhand//Abstract classes that provide the use of hour, minute, and second seconds
{
protected int basex[], basey[];
protected int transx[],transy[];
protected int numberofpoints;
Public Clockhand (int originx, int originy, int length,int thickness,int points) {
basex= New int[points]; Basey=new Int[points];
transx= New int[points]; Transy=new Int[points];
Initiallizepoints (originx,originy,length,thickness);
numberofpoints=points;
}
abstract protected void initiallizepoints ( int Originx,
int Originy,
int length,
int thickness);
Abstract public void Draw (color color, double angle, Graphics g);
protected void transform (double angle)//The drawing position of the hour hand, minute hand, and second hand, calculated by angle
{
for (int i=0;i<numberofpoints;i++) {
transx[i]= (int) (Basex[0]-basex[i]) * MATH.COS (angle)-
(Basey[0]-basey[i]) * Math.sin (angle) +
Basex[0]);
transy[i]= (int) (Basex[0]-basex[i]) * Math.sin (angle) +
(Basey[0]-basey[i]) * Math.Cos (angle) +
Basey[0]);
}
}
}
Class used by the second hand
Class Sweephand extends Clockhand
{
Public Sweephand (int originx,int originy, int length, int points)
{
Super (originx,originy,length,0,points);
}
protected void initiallizepoints (int originx,int originy, int length, int unused)//initialization point
{
Basex[0]=originx; Basey[0]=originy;
Basex[1]=originx; BASEY[1]=ORIGINY-LENGTH/5;
Basex[2]=originx; Basey[2]=originy+length;
}
public void Draw (color color, double angle, Graphics g)//Draw second hand, line segment
{
transform (angle);
G.setcolor (color);
G.drawline (transx[1],transy[1],transx[2],transy[2]);
}
}
Class Hmhand extends Clockhand
{
Public Hmhand (int originx,int originy, int length,int thickness, int points) {
Super (originx,originy,length,thickness,points);
}
protected void initiallizepoints (int originx,//initialization point
int Originy,
int length,
int thickness)
{
Basex[0]=originx;
Basey[0]=originy;
BASEX[1]=BASEX[0]-THICKNESS/2;
BASEY[1]=BASEY[0]+THICKNESS/2;
BASEX[2]=BASEX[1];
basey[2]=basey[0]+length-thickness;
BASEX[3]=BASEX[0];
Basey[3]=basey[0]+length;
BASEX[4]=BASEX[0]+THICKNESS/2;
BASEY[4]=BASEY[2];
BASEX[5]=BASEX[4];
BASEY[5]=BASEY[1];
}
public void Draw (Color color,double angle, Graphics g)//Draw hand minute hand, for polygons
{
transform (angle);
G.setcolor (color);
G.fillpolygon (transx,transy,numberofpoints);
}
}
The HMS Class is a class for time conversion
Clockhand is the abstract base class for drawing pointers, while providing a way to convert angles to coordinates
Sweephand is the second hand drawing the class used
Hmhand is the hand hour hand drawing the class used
The main function looks at the following part
Blink of an eye a year again, oneself again old one year old, depressed ah. Take advantage of some Zhong Cai New year, and quickly send a few more articles to add something to the past year.
The program is found from the Internet and is a simple clock display program.
Code Features:
The clock code provides a variety of interfaces that can be set in HTML files, changing the colorful clock model,
Parameter description see inside the code info array
The clock drawing uses the double buffering graph processing mechanism, namely draws the graph in the buffer first, then displays the graph to the webpage to be able to prevent the flicker effectively.
In addition, the clock is constantly drawn through a thread to continuously read the system time, if the time has changed to draw. With one thread drawing, a thread processing Web page is more compliant with the Applet Setup specification.
Code section:
Import java.awt.*;
Import java.applet.*;
Import java.util.*;
Import java.net.*;
Class Hms extends Date
{
Public Hms (double localoffset) {//If the time zone is set in the HTML file, set it to the local time zone
Super ();
Long Tzoffset=gettimezoneoffset () *60l*1000l;
Localoffset *= 3600000.0;
SetTime (GetTime () + Tzoffset + (long) localoffset);
}
Public Hms () {//If no time zone is set, use local time
Super ();
}
Public double get_hours ()//Time conversion, converting a time like 5:30 to 5.5
{
Return (double) super.gethours () + (double) getminutes ()/60.0;
}
}
Abstract class Clockhand//Abstract classes that provide the use of hour, minute, and second seconds
{
protected int basex[], basey[];
protected int transx[],transy[];
protected int numberofpoints;
public Clockhand (int originx, int originy, int length,int thickness,int points) {
& nbsp; basex= New int[points]; Basey=new Int[points];
transx= New int[points]; Transy=new int[points];
initiallizepoints (originx,originy,length,thickness);
numberofpoints=points;
}
abstract protected void initiallizepoints ( int Originx,
int Originy,
int length,
int thickness);
Abstract public void Draw (color color, double angle, Graphics g);
protected void transform (double angle)//The drawing position of the hour hand, minute hand, and second hand, calculated by angle
{
for (int i=0;i<numberofpoints;i++) {
transx[i]= (int) (Basex[0]-basex[i]) * MATH.COS (angle)-
(Basey[0]-basey[i]) * Math.sin (angle) +
Basex[0]);
transy[i]= (int) (Basex[0]-basex[i]) * Math.sin (angle) +
(Basey[0]-basey[i]) * Math.Cos (angle) +
Basey[0]);
}
}
}
Class used by the second hand
Class Sweephand extends Clockhand
{
Public Sweephand (int originx,int originy, int length, int points)
{
Super (originx,originy,length,0,points);
}
protected void initiallizepoints (int originx,int originy, int length, int unused)//initialization point
{
Basex[0]=originx; Basey[0]=originy;
Basex[1]=originx; BASEY[1]=ORIGINY-LENGTH/5;
Basex[2]=originx; Basey[2]=originy+length;
}
public void Draw (color color, double angle, Graphics g)//Draw second hand, line segment
{
transform (angle);
G.setcolor (color);
G.drawline (transx[1],transy[1],transx[2],transy[2]);
}
}
Class Hmhand extends Clockhand
{
Public Hmhand (int originx,int originy, int length,int thickness, int points) {
Super (originx,originy,length,thickness,points);
}
protected void initiallizepoints (int originx,//initialization point
int Originy,
int length,
int thickness)
{
Basex[0]=originx;
Basey[0]=originy;
BASEX[1]=BASEX[0]-THICKNESS/2;
BASEY[1]=BASEY[0]+THICKNESS/2;
BASEX[2]=BASEX[1];
basey[2]=basey[0]+length-thickness;
BASEX[3]=BASEX[0];
Basey[3]=basey[0]+length;
BASEX[4]=BASEX[0]+THICKNESS/2;
BASEY[4]=BASEY[2];
BASEX[5]=BASEX[4];
BASEY[5]=BASEY[1];
}
public void Draw (Color color,double angle, Graphics g)//Draw hand minute hand, for polygons
{
transform (angle);
G.setcolor (color);
G.fillpolygon (transx,transy,numberofpoints);
}
}
The HMS Class is a class for time conversion
Clockhand is the abstract base class for drawing pointers, while providing a way to convert angles to coordinates
Sweephand is the second hand drawing the class used
Hmhand is the hand hour hand drawing the class used
The main function looks at the following part