我照着教材上的一个时钟例子,用JCreator编写,编译时出现了好多错误,但我就是不明白怎么错了
代码如下:
import Java.awt.*;
import Java.applet.*;
import Java.util.Date; //这是Java中的低级实用工具包,可以处理时间等内容?public class Applet1 extends Applet implements Runnable //有线程运行借口
{
Date timenow; //Date是一个时间定义与创建函数。
Clock myClock; //用户自定义的类
Thread clockthread=null; //设置一个线程public void start() //线程开始的类
{
if (clockthread==null); //如果线程为空,则
{
clockthread=new Thread(this); //开始新的线程
clockthread.start(); //开始
}
}public void stop(); //终止线程
{
clockthread.stop(); //终止线程,使它
clockthread=null; //为空
}public void run() //运行线程
{
while(true) //一个死循环,条件永远为真
{
repaint(); //重新绘制界面
try{Thread.sleep(1000);} //让线程sleep 1000ms
catch(InterruptedException e){} //捕获异常
}
}public void paint(Graphics g)
{
timenow=new Date(); //新的时间的获得
//获得小时,分钟,秒钟
myClock=new Clock(timenow.getHours(),timenow.gerMinutes(),timenow.getSeconds());
g.drawString(timenow.toString(),25,240); //将它打印出来
myClock.show(g,100,100,100); //使面板显示
}
}class Clock //用户自定义的类开始,编译后,它单独成为一个CLASS文件
{
Clock(int hrs,int min,int sec) //类函数入口
{
hour=hrs%12; //将原始数据处理,得到小时
minute=min; //将原始数据处理,得到分钟
second=sec; //将原始数据处理,得到秒
}
void show(Graphics g,int cx,int cy,int rad) //重新定义SHOW函数
{
int hrs_len=(int)(rad*0.5), //时针的长度
min_len=(int)(rad*0.6), //分针的长度
sec_len=(int)(rad*0.9); //秒针的长度
double theta;
//画出钟面
g.drawOval(cx-rad,cy-rad,rad*2,rad*2);
//画出时针
theta=(double)(hour*60*60+minute*60+second)/43200.0*2.0*Math.PI;
drawNiddle(g,Color.blue,cx,cy,hrs_len,theta);
//画出分针
theta=(double)(minute*60+second)/3600.0*2.0*Math.PI;
drawNiddle(g,Color.red,cx,cy,min_len,theta);
//画出秒针
theta=(double)(second)/60.0*2.0*Math.PI;
drawNiddle(g,Color.green,cx,cy,sec_len,theta);
}
private void drawNiddle(Graphics g,Color c,int x,int y,int len,double theta)
{
int ex=(int)(x+len*Math.sin(theta));
int ey=(int)(y-len*Math.cos(theta));
g.setColor(c);
g.drawLine(x,y,ex,ey);
}
int hour,minute,second;
}编译后的错误如下:
e:\JCreator Pro\MyProjects\Applet1\Applet1.java:1: package Java.awt does not exist
import Java.awt.*;
^
e:\JCreator Pro\MyProjects\Applet1\Applet1.java:2: package Java.applet does not exist
import Java.applet.*;
^
e:\JCreator Pro\MyProjects\Applet1\Applet1.java:3: package Java.util does not exist
import Java.util.Date; //这是Java中的低级实用工具包,可以处理时间等内容?
^
e:\JCreator Pro\MyProjects\Applet1\Applet1.java:5: cannot resolve symbol
symbol : class Applet 
location: class Applet1
public class Applet1 extends Applet implements Runnable //有线程运行借口
^
e:\JCreator Pro\MyProjects\Applet1\Applet1.java:7: cannot resolve symbol
symbol : class Date 
location: class Applet1
Date timenow; //Date是一个时间定义与创建函数。
^
e:\JCreator Pro\MyProjects\Applet1\Applet1.java:54: cannot resolve symbol
symbol : class Graphics 
location: class Clock
void show(Graphics g,int cx,int cy,int rad) //重新定义SHOW函数
^
e:\JCreator Pro\MyProjects\Applet1\Applet1.java:72: cannot resolve symbol
symbol : class Graphics 
location: class Clock
private void drawNiddle(Graphics g,Color c,int x,int y,int len,double theta)
^
e:\JCreator Pro\MyProjects\Applet1\Applet1.java:72: cannot resolve symbol
symbol : class Color 
location: class Clock
private void drawNiddle(Graphics g,Color c,int x,int y,int len,double theta)
^
e:\JCreator Pro\MyProjects\Applet1\Applet1.java:36: cannot resolve symbol
symbol : class Graphics 
location: class Applet1
public void paint(Graphics g)
^
e:\JCreator Pro\MyProjects\Applet1\Applet1.java:15: reference to Thread is ambiguous, both method Thread(java.lang.Runnable) in java.lang.Thread and method Thread(java.lang.String) in java.lang.Thread match
clockthread=new Thread(this); //开始新的线程
^
e:\JCreator Pro\MyProjects\Applet1\Applet1.java:20: missing method body, or declare abstract
public void stop(); //终止线程
^
e:\JCreator Pro\MyProjects\Applet1\Applet1.java:30: cannot resolve symbol
symbol : method repaint ()
location: class Applet1
repaint(); //重新绘制界面
^
e:\JCreator Pro\MyProjects\Applet1\Applet1.java:38: cannot resolve symbol
symbol : class Date 
location: class Applet1
timenow=new Date(); //新的时间的获得
^
e:\JCreator Pro\MyProjects\Applet1\Applet1.java:64: cannot resolve symbol
symbol : variable Color 
location: class Clock
drawNiddle(g,Color.blue,cx,cy,hrs_len,theta);
^
e:\JCreator Pro\MyProjects\Applet1\Applet1.java:67: cannot resolve symbol
symbol : variable Color 
location: class Clock
drawNiddle(g,Color.red,cx,cy,min_len,theta);
^
e:\JCreator Pro\MyProjects\Applet1\Applet1.java:70: cannot resolve symbol
symbol : variable Color 
location: class Clock
drawNiddle(g,Color.green,cx,cy,sec_len,theta);
^
Note: e:\JCreator Pro\MyProjects\Applet1\Applet1.java uses or overrides a deprecated API.
Note: Recompile with -deprecation for details.
16 errorsProcess completed.
请达人详细的指导我,十分感谢

解决方案 »

  1.   

    import Java.awt.*;
    import Java.applet.*;
    import Java.util.Date;
    ---------------------------------------
    Java ----> javaimport java.awt.*;
    import java.applet.*;
    import java.util.Date;
      

  2.   

    1.加入正确的jdk包
    2.public void stop(); //终止线程
        方法后面多了个 分号
    3.myClock=new Clock(timenow.getHours(),timenow.gerMinutes(),timenow.getSeconds());
        中间是getMinutes不是gerMinutes其实问题都是很简单的,好多是自己粗心了。
    看编译后的错误信息应该能自己解决的
      

  3.   

    1..把 三個import 後面 的Java 都改為小寫
    2..把 paint 函數中的timenow.gerMinutes()改為 timenow.getMinutes()
    3..將 public void stop中的第一排的分號去掉