线未在图像jframe上显示

Vin*_*hik 2 java swing

package carspeedometer;

import java.awt.Graphics;

import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;

class a1 {

    a1() {
        JFrame jf = new JFrame("Speedometer");
        jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        JPanel jp = new JPanel();
        JLabel jb = new JLabel(new ImageIcon(
                "C:/Users/Vinayak/Desktop/tester.jpg"));
        jp.add(jb);

        jf.add(jp);
        jf.setVisible(true);
        jf.setSize(700, 700);
    }

    public void paint(Graphics g) {
        g.drawLine(70, 70, 200, 200);
    }

    public static void main(String...s) {
        new a1();
    }
}
Run Code Online (Sandbox Code Playgroud)

线未显示在屏幕上.我想在图像顶部显示线条.请帮助.在这里,我试图建立一个速度表,但首先需要显示一条线

Hov*_*els 5

如果覆盖组件的绘图方法,则只能在Swing中绘制.在这里,您的绘制方法不会覆盖任何内容,因为您的类没有扩展 我建议

  • 你创建了一个扩展JPanel的类
  • 你重写JPanel的paintComponent(Graphics g)方法
  • 您使用@Override注释来验证覆盖
  • 您将JPanel放入JFrame并显示它
  • 你读过Swing Painting Tutorials.你不想猜这个东西.