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

📄 jumptext.java

📁 源代码使用说明 本书全部代码全部在JDK中调试成功
💻 JAVA
字号:
// Source File Name:   Jumptext.java

import java.applet.Applet;
import java.awt.*;
import java.util.StringTokenizer;

public class Jumptext extends Applet
    implements Runnable
{

    public void init()
    {
        Dimension dimension = size();
        String s = getParameter("speed");
        speed = s != null ? Integer.valueOf(s).intValue() : 50;
        font1 = new Font("TimesRoman", 2, 24);
        s = getParameter("message1");
        message1 = s != null ? s : "CATNET Internet Service";
        lastX1 = (int)(Math.random() * (double)(dimension.width - 1));
        lastY1 = (int)((double)(dimension.height - font1.getSize() - 1) * Math.random());
        directX1 = 3;
        directY1 = 3;
        font2 = new Font("TimesRoman", 0, 20);
        s = getParameter("message2");
        message2 = s != null ? s : "System Intelligent";
        lastX2 = (int)(Math.random() * (double)(dimension.width - 1));
        lastY2 = (int)((double)(dimension.height - font2.getSize() - 1) * Math.random());
        directX2 = -3;
        directY2 = -3;
    }

    public void start()
    {
        setBackground(Color.black);
        if(blinker == null)
        {
            blinker = new Thread(this, "Blink");
            blinker.start();
        }
    }

    public void paint(Graphics g)
    {
        Dimension dimension = size();
        g.setColor(Color.black);
        g.setFont(font1);
        FontMetrics fontmetrics = g.getFontMetrics();
        int k = fontmetrics.stringWidth(" ");
        int i = lastX1;
        int j = lastY1;
        for(StringTokenizer stringtokenizer = new StringTokenizer(message1); stringtokenizer.hasMoreTokens();)
        {
            String s = stringtokenizer.nextToken();
            int l = fontmetrics.stringWidth(s) + k;
            if(i > dimension.width)
                i -= dimension.width;
            g.setColor(new Color((int)(Math.random() * 256D), (int)(Math.random() * 256D), (int)(Math.random() * 256D)));
            g.drawString(s, i, j);
            i += l;
        }

        if(Math.random() > 0.98999999999999999D)
            directX1 = -directX1;
        lastX1 += directX1;
        if(lastX1 >= dimension.width)
            lastX1 = 0;
        else
        if(lastX1 < 0)
            lastX1 = dimension.width - 1;
        lastY1 += directY1;
        if(lastY1 >= dimension.height)
            directY1 = -3;
        else
        if(lastY1 < font1.getSize())
            directY1 = 3;
        g.setColor(Color.black);
        g.setFont(font2);
        fontmetrics = g.getFontMetrics();
        k = fontmetrics.stringWidth(" ");
        i = lastX2;
        j = lastY2;
        for(StringTokenizer stringtokenizer1 = new StringTokenizer(message2); stringtokenizer1.hasMoreTokens();)
        {
            String s1 = stringtokenizer1.nextToken();
            int i1 = fontmetrics.stringWidth(s1) + k;
            if(i > dimension.width)
                i -= dimension.width;
            g.setColor(new Color((int)(Math.random() * 256D), (int)(Math.random() * 256D), (int)(Math.random() * 256D)));
            g.drawString(s1, i, j);
            i += i1;
        }

        if(Math.random() > 0.98999999999999999D)
            directX2 = -directX2;
        lastX2 += directX2;
        if(lastX2 >= dimension.width)
            lastX2 = 0;
        else
        if(lastX2 < 0)
            lastX2 = dimension.width - 1;
        lastY2 += directY2;
        if(lastY2 >= dimension.height)
        {
            directY2 = -3;
            return;
        }
        if(lastY2 < font1.getSize())
            directY2 = 3;
    }

    public void stop()
    {
        blinker = null;
        blinker.stop();
    }

    public void run()
    {
        while(blinker != null) 
        {
            repaint();
            try
            {
                Thread.sleep(speed);
            }
            catch(InterruptedException _ex) { }
        }
    }

    public Jumptext()
    {
    }

    Thread blinker;
    String message1;
    String message2;
    Font font1;
    Font font2;
    int speed;
    int lastX1;
    int lastY1;
    int directX1;
    int directY1;
    int lastX2;
    int lastY2;
    int directX2;
    int directY2;
}

⌨️ 快捷键说明

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