⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 hms.java

📁 一个applet的时钟程序,有删改,基本实现从本地读取时间并用小程序运行.
💻 JAVA
字号:
package clock;

import java.awt.*;
import java.applet.*;
import java.util.*;
import java.net.*;

class Hms extends Date {
	public Hms(double localOffset) { // 如果HTML文件中设置了时区,则把时间设为当地时区时间
		super();
		long tzOffset = getTimezoneOffset() * 60L * 1000L;
		localOffset *= 3600000.0;
		setTime(getTime() + tzOffset + (long) localOffset);
	}

	public Hms() { // 如果没有设置时区,则就使用当地的时间
		super();
	}

	public double get_hours() // 时间换算,把如5:30这样的时间换算成5.5
	{
		return (double) super.getHours() + (double) getMinutes() / 60.0;
	}
}

abstract class ClockHand // 抽象类,提供时针、分针、秒针类使用
{
	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) // 通过角度计算出时针、分针、秒针的绘制位置
	{
		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]);
		}
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -