javaapplet绘制方法故障

javaapplet绘制方法故障,java,applet,paint,repaint,Java,Applet,Paint,Repaint,在代码中,我从init()方法调用repaint()方法,但输出与我预期的不一样。 我调用了repaint()方法10次,但它只调用了paint()一次(参见O/P的屏幕截图)。 我犯了什么错误吗。请帮帮我。 谢谢 代码 import java.awt.*; import java.applet.Applet; /* <applet code="test" height=300 width=300> </applet> */ public class te

在代码中,我从
init()
方法调用
repaint()
方法,但输出与我预期的不一样。 我调用了
repaint()
方法10次,但它只调用了
paint()
一次(参见O/P的屏幕截图)。 我犯了什么错误吗。请帮帮我。 谢谢

代码

import java.awt.*;
import java.applet.Applet;
/*
    <applet code="test" height=300 width=300>
    </applet>
*/
public class test extends Applet
{
    int x,y;
    public void init() 
    {
        x=5;
        y=10;
        for(int i=1;i<10;i++)
        {
            System.out.println("From init "+i);
            x+=(i*2);                                   
            y+=(i*3);   
            repaint();      
        }                   
    }   
    public void paint(Graphics g)
    {
        System.out.println("Paint");
        g.drawLine(50,50,x,y);
    }   
}
import java.awt.*;
导入java.applet.applet;
/*
*/
公共类测试扩展Applet
{
int x,y;
公共void init()
{
x=5;
y=10;

对于(int i=1;i请理解,您无法完全控制是否或何时调用paint(…),并且
repaint()
调用只是建议JVM进行绘制请求进来后,它们会像您的请求一样堆积起来,然后它们会被组合起来。有关这方面的更多详细信息,请参阅本文

无论如何,即使您的代码工作正常,也不会对代码的用户造成任何可见的更改,因为所有的x和y更改和绘制几乎都是即时完成的。也许您真的想使用Swing计时器?也许您想在Swing中重新编码,而不是AWT