You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

myline.java编译提示使用或覆盖已弃用API问题咨询

警告产生原因

你代码中继承了java.applet.Applet类,该类以及整个java.applet包从Java 9版本开始被官方标记为废弃API(Deprecated API),且在Java 11及更高版本中被完全从JDK中移除。Applet是早年用于浏览器嵌入Java程序的技术,目前所有主流浏览器均已停止支持Applet,因此Java官方淘汰了该技术栈,编译器检测到你调用了已废弃的API就会触发该警告。

解决方法
  • 临时屏蔽警告(仅适用于Java 8及更低版本,Java 9/10可临时使用):
    如果你仅需要临时运行测试这段旧代码,可以在类定义上方加废弃API忽略注解:
    import java.awt.*;
    import java.applet.*;
    @SuppressWarnings("deprecation")
    public class myline extends Applet
    {
    public void paint(Graphics g)
    {
    g.drawLine(100,10,250,150);
    g.drawLine(100,150,150,150);
    }
    }
    
    也可以编译时添加参数查看详细的废弃提示:javac -Xlint:deprecation myline.java
  • 永久兼容解决方案:
    改用当前Java官方推荐的Swing或JavaFX技术实现绘图功能,以下是等效功能的Swing实现代码:
    import javax.swing.*;
    import java.awt.*;
    
    public class MyLine extends JFrame {
        public MyLine() {
            setTitle("绘图示例");
            setSize(400, 300);
            setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            setLocationRelativeTo(null);
        }
    
        @Override
        public void paint(Graphics g) {
            super.paint(g);
            g.drawLine(100,10,250,150);
            g.drawLine(100,150,150,150);
        }
    
        public static void main(String[] args) {
            new MyLine().setVisible(true);
        }
    }
    
    这段代码在所有Java 8及更高版本中都可以正常编译运行,不会触发废弃警告。

内容的提问来源于stack exchange,提问作者Anilect Jose

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 08:45:03