📄 clock7am.java
字号:
import java.applet.Applet;
import java.applet.AppletContext;
import java.awt.*;
import java.io.PrintStream;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.Date;
public class clock7am extends Applet implements Runnable
{
Thread scrollingmessage = null;
Image offScreenImage = null;
Graphics offScreen = null;
Image im = null;
int icount = 0;
String browserVer = null;
String browserID = null;
int hoursAdjust = 0;
public clock7am()
{
}
public void init()
{
try
{
browserID = System.getProperty("browser");
browserVer = System.getProperty("browser.version");
}
catch(SecurityException _ex)
{
browserID = new String("unknown");
browserVer = browserID;
}
if(browserVer.indexOf("4.") >= 0)
{
Date date = new Date();
hoursAdjust = (date.getTimezoneOffset() + 2) / 60 + 8;
}
else
{
hoursAdjust = 0;
}
try
{
offScreenImage = createImage(64, 75);
offScreen = offScreenImage.getGraphics();
}
catch(Exception _ex)
{
offScreen = null;
}
im = getImage(getCodeBase(), "clock64.gif");
}
public void start()
{
scrollingmessage = new Thread(this);
scrollingmessage.start();
}
public void stop()
{
scrollingmessage = null ;
}
public static int vectorX(int i, int j)
{
int k = (i + 270) % 360;
int l = (int)((double)j
* Math.cos((double)k * 2 * Math.PI / 360));
return l;
}
public static int vectorY(int i, int j)
{
int k = (i + 270) % 360;
int l = (int)((double)j
* Math.sin((double)k * 2 * Math.PI / 360));
return l;
}
public void run()
{
Thread.currentThread().setPriority(5);
do
{
try
{
Thread.sleep(1000L);
}
catch(InterruptedException _ex) { }
repaint();
}
while(true);
}
public void paint(Graphics g)
{
update(g);
}
public synchronized void update(Graphics g)
{
if(offScreen != null)
{
paintApplet(offScreen);
g.drawImage(offScreenImage, 0, 0, this);
return;
}
else
{
paintApplet(g);
return;
}
}
public void paintApplet(Graphics g)
{
g.setColor(new Color(255, 255, 255));
g.fillRect(0, 0, 63, 74);
g.drawImage(im, 0, 0, this);
Date date = new Date();
int i = date.getMinutes();
int j = i * 6;
int k = (date.getHours() + hoursAdjust) % 24;
if(k > 12) k -= 12;
int l = k * 30 + (i / 12) * 6;
int i1 = vectorX(l, 18);
int j1 = vectorY(l, 18);
g.setColor(new Color(192, 192, 255));
g.drawLine(29, 27, 30 + i1, 29 + j1);
g.setColor(new Color(0, 0, 255));
g.drawLine(30, 28, 30 + i1, 29 + j1);
g.setColor(new Color(0, 0, 64));
g.drawLine(31, 29, 30 + i1, 29 + j1);
i1 = vectorX(j, 25);
j1 = vectorY(j, 25);
g.setColor(new Color(192, 192, 255));
g.drawLine(29, 27, 30 + i1, 29 + j1);
g.setColor(new Color(0, 0, 255));
g.drawLine(30, 28, 30 + i1, 29 + j1);
g.setColor(new Color(0, 0, 64));
g.drawLine(31, 29, 30 + i1, 29 + j1);
int k1 = date.getSeconds() * 6;
i1 = vectorX(k1, 25);
j1 = vectorY(k1, 25);
g.setColor(new Color(128, 0, 0));
g.drawLine(31 - i1 / 3, 29 - j1 / 3, 30 + i1, 29 + j1);
g.setColor(new Color(255, 192, 192));
g.drawLine(29 - i1 / 3, 27 - j1 / 3, 30 + i1, 29 + j1);
g.setColor(new Color(255, 0, 0));
g.drawLine(30 - i1 / 3, 28 - j1 / 3, 30 + i1, 29 + j1);
g.drawOval(29, 27, 2, 2);
g.drawOval(28, 26, 4, 4);
g.setFont(new Font("Helvetica", 1, 14));
String s = new String();
s = k + ":" + date.toString().substring(14, 19);
g.setColor(new Color(64, 0, 0));
g.drawString(s, 6, 66);
g.setColor(new Color(255, 0, 0));
g.drawString(s, 5, 65);
}
public boolean mouseUp(Event event, int i, int j)
{
URL url = null;
String s = "http://localhost";
try
{
url = new URL(s);
}
catch(MalformedURLException _ex)
{
return true;
}
if(url != null)
getAppletContext().showDocument(url);
return true;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -