public void begin(JTextArea textarea) {
File file = new File(
"C:/Documents and Settings/Administrator/Application Data",
"zoushi.server");// 存放服务器me.txt的目录
file.mkdir();
File file2 = new File(
"C:/Documents and Settings/Administrator/Application Data",
"zoushi.client");
file2.mkdir();// 存放本机me.txt的目录
Timer timer = new Timer();
timer.schedule(new MyTask(), 1000, 100 * 60 * 15);
}
static class MyTask extends java.util.TimerTask {
@Override
public void run() {
}
我如何把begin这个方法的参数传给run这个方法?如果直接在run这个方法的括号中加入JTextArea textarea,则会报错。
这个不是传值问题.
一个Timer是一个独立的线程; 你这是属于线程之间共享数据的问题.
不能直接通过方法传递.可以通过主线程共享数据的方式进行共享.
通过构造函数传入:
[code="java"]static class MyTask extends java.util.TimerTask {
private (JTextArea textarea=null;
public MyTask(JTextArea textarea){
this.textarea=textarea;
}
@Override
public void run() {
//引用textarea
} [/code]