paintComponent 和 java 图形

paintComponent and java Graphics

我还是 java 图形的新手,我写了这段代码,但它没有在屏幕上显示任何内容。有人可以告诉我出了什么问题吗? 我没有收到任何错误,但它什么也没显示。谢谢

import java.awt.Color;
import java.awt.Graphics;
import java.awt.Graphics2D;

import javax.swing.*;


public class GraphicsExample extends JPanel {

    public void paintComponenet(Graphics g) {


        super.paintComponent(g);
        Graphics2D g2d = (Graphics2D) g; 
        g.setColor(Color.red);

        g.drawRect(10, 10, 200, 200);
        for(int i=0; i<20; i++){
        g.setColor(new Color((int) (Math.random() *255), (int)(Math.random()*255),(int) (Math.random()*255)));
        g.fillOval(20+(int)(Math.random()*180), 20+(int)(Math.random()*180), 5, 5);
    }
        g.setColor(Color.red);

        g.drawString("Hello there", 20, 20);


    }

    public static void main(String[] args) {
        JFrame f = new JFrame(); 
        f.add(new GraphicsExample());
        f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        f.setSize(400,600);
        f.show();
    }
}

paintComponenet 是漏拼,应该是 paintComponent

当您 "think" 覆盖方法时,首先使用 @Override 注释...

@Override
public void paintComponenet(Graphics g) {

如果编译器无法在父级中找到相应的方法,这将导致编译器错误 类,这将突出显示这些类型的错误...

@Override
public void paintComponent(Graphics g) {