我简单一个程序调试出现问题,程序如下
import javax.swing.*;
class SimpleFrame extends JFrame
{
public static void main(String[] args)
{
SimpleFrame frame=new SimpleFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.show();
}
public SimpleFrame()
{
setSize(DEFAULT_WIDTH,DEFAULT_HEIGHT);
}
public static final int DEFAULT_WIDTH=300;
public static final int DEFAULT_HEIGHT=200;
}编译时报错说:SimpleFrameTest.java使用或覆盖了过时的API。要了解详细信息,请使用-Xlint:deprecation重新编译。求赐教

解决方案 »

  1.   

    不少报错吧?
    应该是编译时候的警告信息,是因为你用了过时的方法,这种方法在jdk中已经不提倡使用了。但是不会造成错误信息,程序可以运行。
      

  2.   

    jdk版本是支持向前版本兼容的
    不会影响运行
      

  3.   

    suterfo你编译没错?你用什么环境?
      

  4.   

    YGCMIT真的运行不了,你试验下
      

  5.   

    我运行了你的程序,编译没有错误,不过有个warning。
    在main函数前改成这样:
    @SuppressWarnings("deprecation")
    public static void main(String[] args){
    这个warning就没有了,也能运行正常。
      

  6.   

    不要用show那个过时了,现在一般都用setVisible(true)你改下就ok了。
      

  7.   

    在class SimpleFrame extends JFrame前面加public 定义公共类
    再把public static void main(String[] args)改成 public static void main(String args[] )就能运行了  但是编译时还是不能通过
      

  8.   

    hsduren谢谢你,成功了,对了,我是新来这个论坛的,我如何给你20分?
      

  9.   

    怎么这么多过时的东西啊 。本人现在也在学习java编译能通过也能运行,但就是提示使用了过时的API函数
      

  10.   

    我运行了一下,编译的时候有两个注:不过我看不懂是什么意思,因为我的系统是日语系统,我才刚开始学日语
    运行后出来个空白的BOX
      

  11.   

    把frame.show()改成frame.setVisible(true);