java-错误提示:non-static variable aa cannot be referenced from a static context

问题描述

错误提示:non-static variable aa cannot be referenced from a static context

Java贪吃蛇,请大虾指教啊,我花较长时间缩减代码,如有什么还觉得不清楚,我的QQ172147501,谢谢了,实在不懂了。。。。。。。。。。。。。。。。。

package javaprogram;
import。。。。略-----第一个类:用于定义游戏的格子,在第三个类里共添加1600个

public class GameButton extends JButton{
public int flag;//1为身体 0为格子 -1为食物
public JButton fg;//游戏格子
public GameButton(){
this.flag=0;//格子
fg=new JButton();
}
}

package javaprogram;
import 。。。略-----第二个类:用于存放蛇的身体(身体由第一个类组成)、身体格子的每个x,y坐标

public class Bodyarrary extends JButton{
public int s_x;//蛇身体格子的x坐标

public int s_y;//蛇身体格子的y坐标

public GameButton bodyarrary=new GameButton();//用于存放蛇的身体

//一下代码有无均错
//public Bodyarrary(){

//    bodyarrary=new GameButton();
//}
public final void setpox(int x,int y,GameButton gb){
    this.s_x=x;
    this.s_y=y;
    //bodyarrary=new GameButton();
    this.bodyarrary=gb;
}

}

package javaprogram;
import 。。。。略----第三个类:定义游戏框架
class MyFrame extends JFrame implements ActionListener,KeyListener{//,MouseListener{
private JPanel gamepanel=new JPanel();//格子面板-----添加蛇的活动区域(由1600个类一对象组成
private JPanel buttonpanel=new JPanel();//按钮面板----添加开始、暂停按钮

private JButton start=new JButton("开始");//开始按钮
private JButton pause=new JButton("暂停");//暂停按钮   

private GameButton[][]fg;//存储1600个格子
private Bodyarrary[] bodyarrary=new Bodyarrary[100];//用于存放蛇的身体,最长为100
private static int body_length=0;

public MyFrame(String name){
super(name);
initgui();
}
public void initgui(){
BorderLayout blayout=new BorderLayout();
this.setLayout(blayout);//关联布局管理器

//添加两个面板
this.add(gamepanel,blayout.CENTER);//格子面板
this.add(buttonpanel,blayout.NORTH);//按钮面板

    GridLayout glayout=new GridLayout(40,40);//为gamepanel面板设置GridLayout()布局管理器
    gamepanel.setLayout(glayout);
    gamepanel.setSize(400,400);//设置gamepanel面板的大小
    addplates(gamepanel);//这个函数用于添加1600个格子
    gamepanel.setBorder(new LineBorder(new Color(102,102,255),2,true));

    buttonpanel.setLayout(new FlowLayout());//为buttonpanel面板设置FlowLayout()布局管理器
    buttonpanel.add(start);
    buttonpanel.add(pause);

    setResizable(false);

    start.addActionListener(this);
    pause.addActionListener(this);
    this.addKeyListener(this);   

    }

public void addplates(JPanel gamepanel){
fg=new GameButton[40][40];//40行40列
for(int i=0;i<40;i++){
for(int j=0;j<40;j++){
fg[i][j]=new GameButton();
fg[i][j].setSize(10,10);
fg[i][j].setIcon(new ImageIcon("E:bg.jpg"));
gamepanel.add(fg[i][j]);
}
}
}

//以下函数初始化蛇,长度为5,

public void initsnake(){
     for(int i=0;i<=4;i++){
         fg[10][10+i].setIcon(new ImageIcon("E:\body.jpg"));//改变原来的按钮图标,且为body.jpg
         fg[10][10+i].flag=1;//标注为在该位置有蛇的身体   *1身体        0背景格子      -1食物*

         //问题就是这行代码,有了后蛇的身体就只能初始化一格
         bodyarrary[body_length++].get_body_state(10,10+i,fg[10][10+i]);//存储初始化身体格子的x,y及身体

     }

//main入口类

public class JavaProgram{
public static void main(String[] args) {
MyFrame myframe=new MyFrame("TP 的Java程序......");
myframe.setVisible(true);
myframe.setSize(600,500);
myframe.initsnake();//添加初始化蛇函数
myframe.initfood();//添加初始化实物类
myframe.setFocusable(true);
}
}

?

时间: 2024-09-12 21:38:24

java-错误提示:non-static variable aa cannot be referenced from a static context的相关文章

求助:java错误提示:exception in thread“main” java.lang.

问题描述 安装ontopia的时候,测试环境结果出错了提示:Exceptioninthread"main"java.lang.NoClassDefFoundError:net/ontopia/ontopiaCausedby:java.lang.ClassNotFoundException:net.ontopia.ontopiaatjava.net.URLClassLoader$1.run(UnknownSource)atjava.security.AccessController.do

Java错误提示is not an enclosing class

今天脑袋晕乎乎的,犯了个低级错误,好半天才反应过来 一直提示:is not an enclosing class 我居然把  RegisterActivity.class  写成了 RegisterActivity.this 一直没反应过来,卧槽 看那个提示也没搞懂什么意思,搜索了一下也没有什么结果 一定脑袋清醒才有效率啊

界面-java中错误提示需要class、interface或enum怎么解决

问题描述 java中错误提示需要class.interface或enum怎么解决 package CarSale.CarUI; import java.awt.*; import java.awt.event.*; import java.sql.*; import javax.swing.*; class CarUI extends Frame { public static void main(String [] args) throws SQLException{ { String sql

erlang otp-erlang 服务器端编程 错误提示 variable &amp;amp;#39;State&amp;amp;#39; is unbound

问题描述 erlang 服务器端编程 错误提示 variable 'State' is unbound -module(gen_server_template). %% gen_server_template -behaviour(gen_server). -export([start_link/0]). %% gen_server callbacks -export([init/1, handle_call/3, handle_cast/2, handle_info/2, terminate/

java运行提示:无法加载主类,觉得程序没错,求指导!!!

问题描述 java运行提示:无法加载主类,觉得程序没错,求指导!!! package 基本语句; public interface 接口 { int a=1; int b=2; int c=3; int d=4; int f=5; void print(); void print1();}class jiekou implements 接口{ public void print() { System.out.println(a+b); } public void print1() { Syste

java错误:Connection refused:connect

问题描述 java错误:Connection refused:connect 这是我主界面,我想在这点开文件,然后可以发送给连接的人,目前的测试就是自己给自己发. package com.fastSendFile; import java.awt.BorderLayout; import java.awt.Dimension; import java.awt.FlowLayout; import java.awt.datatransfer.DataFlavor; import java.awt.

PHP错误提示解析

  先说PHP的错误信息,来自PHP100论坛 PHP的错误信息由一下几部分构成 {错误类型}: {错误原因} in {错误文件} on {错误行数} 说明了在哪个文件的哪一行中因何种原因出现了何种错误. 常见的错误类型一般有下面几种: Parse error(解析错误)一般都伴随着Syntax errors(句法错误) ,说明你的程序不符合PHP的语法. 它是级别最高的错误,整个脚本根本不会被执行. 一般都是由一个表达式缺少";" 或各种括号引号不成对引起的.看详细的信息就能知道问题

VC6.0常见编译错误提示附解决方法

这篇文章主要介绍了VC++6.0编译过程中常遇到的一些错误提示并给出了错误原因与分析,需要的朋友尅参考下   (1)error C2001: newline in constant 编号:C2001 直译:在常量中出现了换行. 错误分析: 1.①字符串常量.字符常量中是否有换行. 2.②在这句语句中,某个字符串常量的尾部是否漏掉了双引号. 3.③在这语句中,某个字符创常量中是否出现了双引号字符""",但是没有使用转义符""". 4.④在这句语句中

c语言-求助,代码应该怎么设计错误提示

问题描述 求助,代码应该怎么设计错误提示 编写代码的时候,碰到了一个问题,有没有哪个大神能帮忙看看啊 我在做错误消息提示,有三种可能的错误,A,B,C,每种错误对应一条消息提示,StringA,StringB,StringC. A,B,C彼此独立发生.在捕捉到这些错误,怎么去提示这些错误信息. 之前我是把八种可能都写出来了,但主管说可能还会有新的错误加进去,所以需要写的更普遍易扩展. 请问这样应该怎么去写? 谢谢!!!!!! 解决方案 用什么写,面向对象就写一个错误类,c的话,用多线程处理,不影