其实我是按书来打出来的
其运行是在HTML上加上<applet code = .....>,然后通过HTML页面打开来看的
但是在编译的时候,却出现错误,我不明白个中道理,想请高手给分析一下,为什么会出现这样的错误。
程序如下:import java.applet.Applet.*;
import java.awt.*;public class TextRunnable extends Applet implements Runnable
{
Label prompt1 = new Label("子线程1");
Label prompt2 = new Label("子线程2");
TextField threadfirst = new TextField(25);
TextField threadsecond = new TextField(25);
Thread thread1,thread2;
int count1;
int count2; public void init()
{
add(prompt1);
add(prompt2);
add(threadfirst);
add(threadsecond);
} public void start()
{
Thread thread1 = new Thread(this,"FirstThread");
Thread thread2 = new Thread(this,"SecondThread");
thread1.start();
thread2.start();
} public void run()
{
String currentRunning;
while (true)
{
try
{
Thread.sleep((int)(Math.random()*100));
}
catch (InterruptedException e)
{
}
currentRunning = Thread.currentThread().getName();
if (currentRunning.equals("FirstThread"))
{
count1++;
threadfirst.setText("线程1第"+count1+"次被调度");
}
else if (currentRunning.equals("SecondThread"))
{
count2++;
threadsecond.setText("线程2第"+count2+"次被调度");
}
}
}
}
其运行是在HTML上加上<applet code = .....>,然后通过HTML页面打开来看的
但是在编译的时候,却出现错误,我不明白个中道理,想请高手给分析一下,为什么会出现这样的错误。
程序如下:import java.applet.Applet.*;
import java.awt.*;public class TextRunnable extends Applet implements Runnable
{
Label prompt1 = new Label("子线程1");
Label prompt2 = new Label("子线程2");
TextField threadfirst = new TextField(25);
TextField threadsecond = new TextField(25);
Thread thread1,thread2;
int count1;
int count2; public void init()
{
add(prompt1);
add(prompt2);
add(threadfirst);
add(threadsecond);
} public void start()
{
Thread thread1 = new Thread(this,"FirstThread");
Thread thread2 = new Thread(this,"SecondThread");
thread1.start();
thread2.start();
} public void run()
{
String currentRunning;
while (true)
{
try
{
Thread.sleep((int)(Math.random()*100));
}
catch (InterruptedException e)
{
}
currentRunning = Thread.currentThread().getName();
if (currentRunning.equals("FirstThread"))
{
count1++;
threadfirst.setText("线程1第"+count1+"次被调度");
}
else if (currentRunning.equals("SecondThread"))
{
count2++;
threadsecond.setText("线程2第"+count2+"次被调度");
}
}
}
}
TextRunnable.java:4: cannot resolve symbol
symbol : class Applet
location: class TextRunnable
public class TextRunnable extends Applet implements Runnable
^
TextRunnable.java:16: cannot resolve symbol
symbol : method add (java.awt.Label)
location: class TextRunnable
add(prompt1);
^
TextRunnable.java:17: cannot resolve symbol
symbol : method add (java.awt.Label)
location: class TextRunnable
add(prompt2);
^
TextRunnable.java:18: cannot resolve symbol
symbol : method add (java.awt.TextField)
location: class TextRunnable
add(threadfirst);
^
TextRunnable.java:19: cannot resolve symbol
symbol : method add (java.awt.TextField)
location: class TextRunnable
add(threadsecond);
^
TextRunnable.java:24: reference to Thread is ambiguous, both method Thread(java.
lang.ThreadGroup,java.lang.String) in java.lang.Thread and method Thread(java.la
ng.Runnable,java.lang.String) in java.lang.Thread match
Thread thread1 = new Thread(this,"FirstThread");
^
TextRunnable.java:25: reference to Thread is ambiguous, both method Thread(java.
lang.ThreadGroup,java.lang.String) in java.lang.Thread and method Thread(java.la
ng.Runnable,java.lang.String) in java.lang.Thread match
Thread thread2 = new Thread(this,"SecondThread");
^
7 errors
程序的第一行改为:
import java.applet.*;
就可以了!
===>
import java.applet.*;
好象涉及到applet的都出现错误了啦
http://www.eclipse.org/downloads/index.php