java编程问题:如果想在进程的run方法中进行绘图应该怎么办

来源:百度知道 编辑:UC知道 时间:2024/06/25 18:12:15
菜鸟问题~ 想编写一个每隔几秒就画图的程序,现在想利用run()方法中的thread。sleep()来控制时间变化,但是run中不能携带参数,所以不能传进去graphics,就不能使用paint函数,所以就不能画图,请问该如何解决呢???

HOHO~~~
我来告诉你,
Thread这个类和一般的类一样,可以有全局函数,可以有构造函数,可以有run()以外的方法,你将你要传得函数(例如graphics),在全局函数上定义一个,然后用构造函数取得,之后在run里对这个全局函数进行操作就可以了。
写了别的方法,在run()里呼叫,运行就行了:)

可明白:)用构造函数传入就例如你写的Thread类是MyThread,就做MyThead thread = new MyThead(graphics); 就行了。当然之前你要定义graphics。

还有一个方法,就是把你写的Thread类在另一个类的里面定义,例如
public class Test{
private int fonction;
public Test(){}
public void method(){}
class MyThread extends Thread{
}
}
这样子,MyThead就能直接使用他外部类Test里的函数了。

paint(G) 函数不是用来自己调用的

你可以参见以下回答:
http://zhidao.baidu.com/question/51348588.html

先把要刷新的数据刷新一下,然后调用 repaint() 函数,它是不需要 Graphics 对象的....

如果要重画界面请调用repaint()方法。
如果要定时重画图请用
int delay = 1000; //milliseconds
ActionListener taskPerformer = new ActionListener() {
public void actionPerformed(ActionEvent evt) {
/