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 で描画できます。ここでは、クラスが何も拡張しないため、ペイント メソッドは何もオーバーライドしません。私は提案します

  • JPanel を拡張するクラスを作成すること
  • JPanelのpaintComponent(Graphics g)メソッドをオーバーライドすること
  • @Overrideアノテーションを使用してオーバーライドを検証すること
  • JPanel を JFrame に配置して表示し、
  • Swing Paint Tutorialsを読んでください。あなたはこのことを推測したくありません。
于 2013-09-24T19:00:20.480 に答える