线未在图像jframe上显示

时间:2013-09-24 18:42:35

标签: 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();
    }
}

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

1 个答案:

答案 0 :(得分:5)

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

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