2 yulang9933 yulang9933 于 2017.08.31 19:50 提问

贪吃蛇 窗体布局问题

首先,我和视频教程的代码一模一样。就是不能修改panel的颜色

 public class Snake {
 7 
 8     public static void main(String[] args) {
 9         
10         JFrame frame = new JFrame(); // 创建一个游戏界面的框架
11         frame.setBounds(10, 10, 900, 720); // 设置框架的大小
12         frame.setResizable(false); // 设置框架大小为不能改变
13         // 点击关闭按钮 关闭游戏界面
14         frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
15         
16         SnakePanel panel = new SnakePanel();  //添加画布
17         frame.add(panel); // 刚添加时画布是空的看不到
18         
19         frame.setVisible(true); // 允许显示游戏界面
20     }
21 
22 }
 package snake;



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

import javax.swing.JPanel;

public class SnakePanel extends JPanel {//继承 JPanel   这个类实则是画布(内容白板)    把这个画布添加到主方法
      public  SnakePanel(){                //  这个画布需要两个方法   一个是初始化方法 获得焦点
          this.setFocusable(true);

      }

      public void paint(Graphics g){  
          // 图形 可以理解为 一支笔    随便把它的包导进来
          this.setBackground(Color.PINK);    // this 指代SnakePanel  设置这个画布或者白板的颜色
      }
}   

运行后无法修改 画布 jpanel的颜色。这个问题不止我一个人遇到,我百度了很多人,仍然没有答案。 有人说是paint()的方法问题。

源代码作者解释:
class SnakePanel 本质就是JPanel       
其中this 就是SnakePanel。   显示,我把this换成SnakePanel是出现错误。但是源代码作者运行却没有问题、

http://www.qingke.me/lessons/96/show_video 源代码作者

Csdn user default icon
上传中...
上传图片
插入图片