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

📄 clock7am.java

📁 Java 范例实战 光盘使用说明 ========================== 本光盘的文件结构如下所示: =====================================
💻 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 + -