每当我拖动以更改applet中的窗口大小时,paint方法似乎再次运行。真的发生了什么? paint方法只是重新运行吗?有没有办法让它自动完成(不改变窗口大小)? for循环似乎不起作用。我在代码中有一个thread.sleep方法,但它仍然没有帮助。我将在下面提供paint方法的代码。
// -----------------------------------------------------------------
// Paints the stick figures on the applet.
// -----------------------------------------------------------------
public void paint(Graphics page) {
// for (int f = 0; f < 6; f++) {
resize(400, 150);
for (int u = 0; u < stickdudes.length; u++)
stickdudes[u].draw(page);
// Delay.sleep(3000);
// }
}
答案 0 :(得分:2)
来自Painint in AWT and Swing: AWT Painting Guidelines,
程序可能会通过调用
paint()
触发对repaint()
的未来调用,但不应直接调用paint()
。
答案 1 :(得分:2)
一次又一次调用paint()
方法,在AWT和Swing中都使用repaint()
方法