我编译一个小程序,编译后出现如下显示:
c:\javalean>javac buttondemo.java
Note: buttondemo.java uses or overrides a deprecated API.
Note: Recompile with -deprecation for details.建好相应的HTML文件后,显示没有问题。但是上述编译结果是什么意思呢?怎么解决?谢谢程序如下:
/******************************************
//本程序在窗口中建立三个按钮,分别完成不同的功能。
//按钮rect完成在屏幕上指定的位置画出一个指定大小的矩形,
//按钮text完成在屏幕上指定的位置显示出指定的文本,
//按钮clear完成在清屏的 功能
*/
//文件名buttondemo.java
import java.applet.*;
import java.awt.*;  //声明预定义库public class  buttondemo extends Applet
{
Button button1,button2,button3;
boolean bool1,bool2,bool3; public void init()
{
resize(320,200);
bool1=false;
bool2=false;
bool3=false; button1=new Button("rect");
button2=new Button("text");
button3=new Button("clear");
add(button1);
add(button2);
add(button3);
} public boolean action(Event e,Object o)
{
String caption=(String)o;
if(e.target instanceof Button)
{
if(caption=="rect")
{
bool1=true;
bool3=false;
repaint();
} if(caption=="text")
{
bool2=true;
bool3=false;
repaint();
} if(caption=="clear")
{
bool3=true;
bool1=false;
bool2=false;
repaint();
}
}
return true;
}
public void paint(Graphics g) 
{
if(bool1)
{g.drawRect(40,40,100,100);} if(bool2)
{g.drawString("这是一个正方形",40,160);} if(bool3)
{g.clearRect(1,1,320,200);}
}
}

解决方案 »

  1.   

    提示你的程序中使用或者重写了一个已经不提倡用的方法,这个方法在以后的jdk版本中可能不再存在。这个提示是为了保证你的程序对jdk的向前兼容性而作出的提示。
    具体的是哪个方法自己可以查查java API 文档,有详细的说明。
      

  2.   

    代码应该没有问题。
    你用的什么JDK版本?? Recompile with -deprecation for details.
    编译器建议你加参数编译一遍看看细节,,,,
      

  3.   

    我用的JDK版本是j2sdk1.4.0_01,怎么解决这个问题呢?怎么让编译的时候不出现上述提示呢?
      

  4.   

    我加参数编译后,显示如下?我不知道什么意思?
    c:\javalearn>javac buttondemo.java -deprecation
    buttondemo.java:31: warning: action(java.awt.Event,java.lang.Object) in java.awt
    .Component has been deprecated
            public boolean action(Event e,Object o)
                           ^
    1 warning
      

  5.   

    就是说action这个函数已经被deprecated了,可以换其他的函数,具体看api,有说明的
      

  6.   

    我也试了一下,没有问题.也没有deprecated警告.我在jdk1.5和jdk1.4.2下面编译都没有问题.楼主换用新版的JDK试试.