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 素材场景中光线烘焙后灯光失效
    • ¥15 请教一下各位,为什么我这个没有实现模拟点击
    • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
    • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
    • ¥20 有关区间dp的问题求解
    • ¥15 多电路系统共用电源的串扰问题
    • ¥15 slam rangenet++配置
    • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
    • ¥15 ubuntu子系统密码忘记
    • ¥15 保护模式-系统加载-段寄存器