Paint 组件不会 运行

Paint Component wont run

我完全不明白为什么 Paint Component 不是 运行 在此代码中:

public class GraphicsWindow extends JPanel {
    public static final int Width = 1000, Height = 800;
    GraphicsWindow(){
        setPreferredSize(new Dimension(Width, Height));
    }
    public void PaintComponent(Graphics g){
        super.paintComponents(g);
        g.setColor(Color.red);
        for(int i = 0; i < Width/10; i++){
            g.drawLine(i * 10, 0, i*10, Height);
        }
          System.out.println("paint ran");
    }

}

主要功能:

public static void main(String[] args) {
        GraphicsWindow Graphics = new GraphicsWindow();
        Graphics.setBackground(Color.green);
        Graphics.setSize(1000, 800);
        JFrame Window = new JFrame("Snake");
        Window.add(Graphics);
        Window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        Window.setBounds(650, 200, 1200, 1000);
        Window.setVisible(true);
        Graphics.repaint();
    }

我已经看了一个又一个论坛页面,但一无所获。我可以说它是绘画组件而不是 运行 因为控制台永远不会得到 "Paint ran" 打印输出。如果这是一个非常愚蠢的错误并且对于可能混乱的代码,我提前表示抱歉,我对 java 有点陌生。

Java 名称区分大小写:

 public void PaintComponent(Graphics g){

应该是:

public void paintComponent(Graphics g){

当您覆盖一个方法时,您应该使用:

@Override
public void PaintComponent(Graphics g){

并且当您不重写现有方法时,编译器会给您一条错误消息。

变量名不能以大写开头。通过查看示例并遵循这些示例来学习 Java 约定。

Graphics.repaint();

不需要repaint()。当框架可见时,Swing 将绘制所有组件。

阅读 Swing Tutorial 了解 Swing 基础知识和工作示例以帮助您入门。