利用多线程技术编写applet程序,其中包含一个滚动的字符串.字符串从左向右移动,当所有的字符都从屏幕的右边消失后,字符串重新从左边出现并继续向右移动.

解决方案 »

  1.   

    public class ParamBanner extends Applet implements Runnable {
    String msg;
    Thread t = null;
    int state;
    boolean stopFlag;
    // Set colors and initialize thread.
    public void init() {
    setBackground(Color.cyan);
    setForeground(Color.red);
    }
    // Start thread
    public void start() {
    msg = getParameter("message");
    if(msg == null) msg = "Message not found.";
    msg = " " + msg;
    t = new Thread(this);
    stopFlag = false;
    t.start();
    }
    // Entry point for the thread that runs the banner.
    public void run() {
    char ch;
    // Display banner
    for( ; ; ) {
    try {
    repaint();
    Thread.sleep(250);
    ch = msg.charAt(0);
    msg = msg.substring(1, msg.length());
    msg += ch;
    if(stopFlag)
    break;
    } catch(InterruptedException e) {}
    }
    }
    // Pause the banner.
    public void stop() {
    stopFlag = true;
    t = null;
    }
    // Display the banner.
    public void paint(Graphics g) {
    g.drawString(msg, 50, 30);
    }
    }
      

  2.   

    import java.awt.*;
    import java.applet.*;
    /*
    <applet code="ParamBanner" width=300 height=50>
    <param name=message value="Java makes the Web move!">
    </applet>
    */