2
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();
    }
}

屏幕上没有显示线条。我想在图像顶部显示线条。请帮助。在这里,我正在尝试构建一个速度计,但首先需要显示一条线

4

1 回答 1

5

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

  • 您创建一个扩展 JPanel 的类
  • 你覆盖JPanel的paintComponent(Graphics g)方法
  • 您使用@Override注释来验证覆盖
  • 将 JPanel 放入 JFrame 并显示它
  • 你读了摇摆绘画教程。你不想猜测这些东西。
于 2013-09-24T19:00:20.480 回答