yulang9933 2017-08-31 11:50
浏览 549

贪吃蛇 窗体布局问题

首先,我和视频教程的代码一模一样。就是不能修改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 源代码作者

  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥15 深度学习根据CNN网络模型,搭建BP模型并训练MNIST数据集
    • ¥15 lammps拉伸应力应变曲线分析
    • ¥15 C++ 头文件/宏冲突问题解决
    • ¥15 用comsol模拟大气湍流通过底部加热(温度不同)的腔体
    • ¥50 安卓adb backup备份子用户应用数据失败
    • ¥20 有人能用聚类分析帮我分析一下文本内容嘛
    • ¥15 请问Lammps做复合材料拉伸模拟,应力应变曲线问题
    • ¥30 python代码,帮调试,帮帮忙吧
    • ¥15 #MATLAB仿真#车辆换道路径规划
    • ¥15 java 操作 elasticsearch 8.1 实现 索引的重建