一个经典的JAVA APPLET程序(二)

王朝java/jsp·作者佚名  2008-05-31
窄屏简体版  字體: |||超大  

接着上面的部分,下面是APPLET主程序部分:

public class MyClock extends Applet implements Runnable

{

static final int BACKGROUND=0; //背景图片的序号,供数组使用

static final int LOGO=1; //LOGO图片的序号,供数组使用

static final String JAVEX="bear"; //表盘上显示的文字

static final double MINSEC=0.104719755; //分针和秒针在表盘上的刻度(60个)间的弧度

static final double HOUR=0.523598776; //时针在表盘上的刻度(24个)间的弧度

Thread clockThread = null; //使用多线程机制,用另一个线程不断显示图片

//提供的默认参数,假如Html文件里面没有给参数就使用

int width = 100;

int height = 100;

Color bgColor = new Color(0,0,0);

Color faceColor = new Color(0,0,0);

Color sweepColor = new Color(255,0,0);

Color minuteColor = new Color (192,192,192);

Color hourColor = new Color (255,255,255);

Color textColor = new Color (255,255,255);

Color caseColor = new Color (0,0,0);

Color trimColor = new Color (192,192,192);

String LOGOString=null;

Image images[] = new Image[2]; //背景和LOGO的图片

boolean isPainted=false; //假如第一次载入时绘制背景及表盘,其他时候重绘则只绘制指针

//时钟圆心的位置

int x1,y1;

//最上面那个三角形的刻度图形的坐标

int XPoints[]=new int[3], yPoints[]=new int[3];

//保存当前时间,转换成(double)(hours + minutes/60)

Hms cur_time;

//秒针、分针、时针

SweepHand sweep;

HmHand minuteHand,

hourHand;

//用于绘制的时、分、秒

double lastHour;

int lastMinute,lastSecond;

//显示日期和表盘上的字母的字体

Font font;

//图片显示使用了缓冲机制,offScrImage和offScrGC存放缓冲区内图片的信息

Image offScrImage;

Graphics offScrGC;

//用于测试背景图片和LOGO图片

MediaTracker tracker;

int minDimension; // 假如背景区域不是正方形的话,保证时钟在中间显示

int originX; // 时钟图形所在正方形区域的左上角X坐标

int originY; // 时钟图形所在正方形区域的左上角Y坐标

double tzDifference=0; //时区间的差,向西为负数,向东为正数

boolean localOnly=false; //是否只使用本地时间,假如为FALSE则可以根据传入的时区显示该时区时间

//保存参数的类型说明

public String[][] getParameterInfo()

{

String[][] info = {

{"width", "int", "APPLET的长度,以象素为单位"},

{"height", "int", "APPLET的宽度,以象素为单位"},

{"bgColor", "string", "背景颜色,e.g FF0000"},

{"faceColor", "string", "表盘颜色"},

{"sweepColor", "string", "秒针颜色"},

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航