| java编译后显示为使用或覆盖了过时的API,如何解决? |
★★★ |
| java编译后显示为使用或覆盖了过时的API,如何解决? |
|
作者:软件开发… 文章来源:阿达 更新时间:2008-4-9 0:26:59  |
|
java编译后显示为使用或覆盖了过时的API,如何解决?
import java.awt.*;
import java.applet.*;
import java.util.Date;
public class Clock extends Applet implements Runnable{
Thread clockThread;
Font font;
public void init(){
font=new Font("TimesRoman",Font.BOLD,64);
}
public void start(){
if(clockThread==null){
clockThread=new Thread(this,"Show time");
clockThread.start();
}
}
public void run(){
while(clockThread!=null){
repaint();
try{
clockThread.sleep(1000);
}catch (InterruptedException e){
}
}
}
public void paint(Graphics g){
Date now=new Date();
g.setFont(font);
g.setColor(Color.red);
g.drawString(now.getHours()+":"+now.getMinutes()+":"+now.getSeconds(),10,150);
}
public void stop(){
clockThread.stop();
}
}
本程序经javac Clock.java编译后显示为:Clock.java使用或覆盖了已过时的API,要了解详细信息,请使用-Xlint:deprecation重新编译,这一问题如何解决?请多多指教.
这不是什么问题,提示过时的api,你可以察看对应的jdk帮助手册,都会有更加替代合适的方法使用的。
clockThread.stop();应该是这句话的问题
“不要使用Thread.stop方法。尽管它的确可以中止一个正在运行的线程,但这样的方法并不安全,并遭到了开发人员普遍的反对。这也可能意味着在未来的Java版本中它可能不会出现。”
┆ 举报
|
| 文章录入:admin 责任编辑:admin |
|
上一篇文章: API函数的一个基本问题
下一篇文章: C++屏幕输出问题 |
|
|
|
|
| 【字体:小 大】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口】 |