Java Applet Thread Animation

Ich bin durch einige Code Java Applet und Animation gegangen, ich schreibe den folgenden Code:

import java.applet.*;
import java.awt.*;

/*<applet code="AppletDemo" width = 200 height = 100></applet>
*/

public class AppletDemo extends Applet implements Runnable
{
    String msg = "Text Animating from right to left...";
    Thread t = null;
    int state;
    boolean stopFlag;
    int msgX = 200;
    String s;
    boolean diff;

    public void init()
    {
        setBackground(Color.cyan);
        setForeground(Color.black);
    }
    public void start()
    {
        t = new Thread(this);
        stopFlag = false;
        t.start();
        s = "abc";
         diff = s.equalsIgnoreCase("abc");
    }

    public void run()
    {
        while (true)
        {
            try{
            if(msgX>=-150)
                msgX--;
            else
                msgX =200;

            Thread.sleep(10);
            repaint();
               }
               catch(Exception e)
               {}
        }
    }
    public void paint(Graphics g)
    {
        g.drawString(msg,msgX,20);
        showStatus(diff+"Text at "+msgX+",20");
    }

}

Was passiert ist, dass, wenn ich Thread.sleep (100) stecke, es funktioniert, aber wenn ich versuche, schneller zu animieren, als Thread.sleep (10), flackert es, ich kann nicht verstehen, was passiert, kann jemand helfen.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage