java 贪吃蛇问题求助

温谦玉 2017-02-14 11:18:17
/*SnakePanel.java*/
package snake;

import java.awt.Color;
import java.awt.Graphics;
import javax.swing.ImageIcon;
import javax.swing.JPanel;

public class SnakePanel extends JPanel {

ImageIcon up = new ImageIcon("up.png");
ImageIcon down = new ImageIcon("down.png");
ImageIcon left = new ImageIcon("left.png");
ImageIcon right = new ImageIcon("right.png");
ImageIcon food = new ImageIcon("food.png");
ImageIcon tiltle = new ImageIcon("tiltle.png");
ImageIcon body = new ImageIcon("body.png");

int[] snakex = new int[750];
int[] snakey = new int[750];
int len = 3;
String fangxiang = "R";// 左右上下分别由L,R,U,D代表。

public SnakePanel() {

this.setFocusable(true);// 让画布上有焦点,后续操作如方向键就可操作。
setup();
}

public void Paint(Graphics g) {

this.setBackground(Color.BLACK);
tiltle.paintIcon(this, g, 25, 11);
g.fillRect(25, 75, 850, 600);

// 画蛇头
if (fangxiang == "R") {
right.paintIcon(this, g, snakex[0], snakey[0]);
} else if (fangxiang == "L") {
left.paintIcon(this, g, snakex[0], snakey[0]);
} else if (fangxiang == "U") {
up.paintIcon(this, g, snakex[0], snakey[0]);
} else if (fangxiang == "D") {
down.paintIcon(this, g, snakex[0], snakey[0]);
}

// 画蛇身
for (int i = 1; i < len; i++) {
body.paintIcon(this, g, snakex[i], snakey[i]);
}
}

public void setup() {
len = 3;
fangxiang = "R";
snakex[0] = 100;
snakey[0] = 100;
snakex[1] = 75;
snakey[1] = 100;
snakex[2] = 50;
snakey[2] = 100;
}
}


/*Snake.java*/
package snake;

import javax.swing.JFrame;

public class Snake {

public static void main(String[] args) {
// TODO Auto-generated method stub
JFrame frame = new JFrame();//new 一个JFrame对象
frame.setBounds(10,10,900,720);//初始化画框的值,就是他的大小位置,这里是电脑屏幕上(10,10)这个点上画一个900长720高的方框。
frame.setResizable(false);//大小不可改变,不可拖拉
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//当点击窗口关闭按钮是关闭窗口。


SnakePanel panel = new SnakePanel();//添加一个画布
frame.add(panel);

frame.setVisible(true);//让他成为可显示的。以上初始化一个JFrame过程。

}

}

目前做到这里刚刚开始,就遇上问题了,大牛们可否告知为何我的jpanel的子类SnakePanel在实例化对象的时候画布没有出现变色,该有的东西也没有,图片自己找的。
...全文
318 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
温谦玉 2017-07-17
  • 打赏
  • 举报
回复
谢谢解答..............
幽饮烛 2017-03-07
  • 打赏
  • 举报
回复
public void Paint(Graphics g) { 大小写写错了 public void paint(Graphics g) {
温谦玉 2017-03-07
  • 打赏
  • 举报
回复
已经可以显示画布了,但是原因还在总结中,哈哈,没人回复

51,408

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧