绘画组件不会运行

时间:2018-12-07 03:10:52

标签: java swing graphics jframe jpanel

对于为什么Paint Component不在此代码中运行,我感到很困惑:

org.postgresql.util.PSQLException: Large Objects may not be used in auto-commit mode

主要功能:

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");
    }

}

我在论坛页面上浏览一个页面约一个小时,却一无所获。我可以说这是绘画组件未运行的原因,因为控制台从未获得过“ Paint ran”打印输出。如果这是一个非常愚蠢的错误,并且对于可能是凌乱的代码,我很抱歉,对于Java我还是有点陌生​​。

1 个答案:

答案 0 :(得分:1)

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的基础知识和工作示例,以帮助您入门。