import javax.swing.*;public class Buttons extends JFrame {
    JButton abort = new JButton("Abort");
    JButton retry = new JButton("Retry");
    JButton fail = new JButton("Fail");
    
    public Buttons() {
        super("Buttons");
        setSize(140, 140);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        JPanel pane = new JPanel();
        pane.add(abort);
        pane.add(retry);
        pane.add(fail);
        setContentPane(pane);
}    public static void main(String[] arguments) {
        Buttons rb = new Buttons();
        rb.show();
    }
}调试上面代码的时候提示:Buttons.java使用或覆盖了已过时的API
要了解详细信息,请使用-Xlint:deprecation 重新编译!调试的时候出现这个问题,该怎么解决呢?求助!

解决方案 »

  1.   

    应该是你调用了已经过时的方法,那个方法上面会有一条删除线,你搜一下API吧,会有更合适的方法替代它的
      

  2.   

    是 rb.show() 这个方法不应该再用了,请用 rb.setVisible(true) 代替它。
      

  3.   

    非常感谢  zrcvic!
    把 rb.show() 改为 rb.setVisible(true) 可以调试了,非常感谢!
    还有一个问题怎么才能知道那个过时API和新的API对应起来呢!
      

  4.   

    过时的 API 都被标记成 @Deprecated,然后这个 API 函数的文档(javadoc)里会写明应该用的方法。比如这个函数的文档就是这样的:show@Deprecated
    public void show()    Deprecated. As of JDK version 1.5, replaced by setVisible(boolean).……