当用户更改applet窗口大小时,实际发生了什么?

时间:2014-11-07 19:20:52

标签: java applet awt paint thread-sleep

每当我拖动以更改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);
    // }
}

2 个答案:

答案 0 :(得分:2)

来自Painint in AWT and Swing: AWT Painting Guidelines

  

程序可能会通过调用paint()触发对repaint()的未来调用,但不应直接调用paint()

答案 1 :(得分:2)

一次又一次调用paint()方法,在AWT和Swing中都使用repaint()方法