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 基础知识和工作示例以帮助您入门。
我完全不明白为什么 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 基础知识和工作示例以帮助您入门。