在runnable java中重绘

时间:2017-09-19 15:53:19

标签: java multithreading applet awt

我读到这个:http://www.dmc.fmph.uniba.sk/public_html/doc/Java/ch10.htm来帮助我理解runnables和applet,并决定测试这段代码。但是,在线程中,不会调用repaint()方法。

public class test extends Applet implements Runnable{
    int hello;

    public void start(){
        Thread run = new Thread(this);
        run.start();
    }

    public void run() {
        for (int i = 0; i < 30; i++){
            hello = i;
            repaint();
        }
    }

    public void paint(Graphics g){
        System.out.println(hello);
    }
}

我希望我的结果如下:

0
1
2
...
29

然而,我得到了:

29
29

我不明白为什么。是因为我没有stop()方法吗?

1 个答案:

答案 0 :(得分:-1)

编辑:

我在考虑组件,而不是Applet。重绘与绘画不同。如果您想要查看循环索引,则需要调用paint并为该方法提供Graphics对象。