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条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥100 c语言,请帮蒟蒻写一个题的范例作参考
    • ¥15 名为“Product”的列已属于此 DataTable
    • ¥15 安卓adb backup备份应用数据失败
    • ¥15 eclipse运行项目时遇到的问题
    • ¥15 关于#c##的问题:最近需要用CAT工具Trados进行一些开发
    • ¥15 南大pa1 小游戏没有界面,并且报了如下错误,尝试过换显卡驱动,但是好像不行
    • ¥15 没有证书,nginx怎么反向代理到只能接受https的公网网站
    • ¥50 成都蓉城足球俱乐部小程序抢票
    • ¥15 yolov7训练自己的数据集
    • ¥15 esp8266与51单片机连接问题(标签-单片机|关键词-串口)(相关搜索:51单片机|单片机|测试代码)