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