对于为什么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我还是有点陌生。
答案 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的基础知识和工作示例,以帮助您入门。