用swing写蛇的时候,画布的背景色显示不出来,蛇的头和身体也显示不出来。

进口?javax . swing . jframe;

进口?javax . swing . jpanel;

进口?Java . awt . graphics;

进口?Java . awt . event . key adapter;

进口?Java . awt . event . key event;

进口?Java . awt . event . key listener;

进口?Java . awt . borderlayout;

进口?Java . awt . color;

进口?javax . swing . image icon;

班级?蛇板?延伸?JPanel?器物?键盘监听器

{

ImageIcon?向上?=?新的?ImageIcon(" snake . jpg ");

ImageIcon?下来?=?新的?ImageIcon(" snake . jpg ");

ImageIcon?向左?=?新的?ImageIcon(" snake . jpg ");

ImageIcon?对吗?=?新的?ImageIcon(" snake . jpg ");

ImageIcon?标题?=?新的?ImageIcon(" snake . jpg ");

ImageIcon?食物?=?新的?ImageIcon(" snake . jpg ");

ImageIcon?身体?=?新的?ImageIcon(" snake . jpg ");

int[]?snakex?=?新的?int[750];

int[]?snakey?=?新的?int[750];

int?莱恩。=?3;

字符串?方想?=?”R”;

公?蛇形面板()

{

setup();

}

@覆盖

公?作废?油漆(图形?g)

{

super.paint(克);

setBackground(颜色。蓝色);

title.paintIcon(this,?g,?25,?96);

g.fillRect(25,75,?850,?600);

if(fangxiang.equals("R "))

{

right.paintIcon(这个,?g,?snakex[0],?snakey[0]);

}

不然呢?if(fangxiang.equals("L "))

{

left.paintIcon(this,?g,?snakex[0],?snakey[0]);

}

不然呢?if(fangxiang.equals("D "))

{

down.paintIcon(这个,?g,?snakex[0],?snakey[0]);

}

不然呢?if(fangxiang.equals("U "))

{

up.paintIcon(这个,?g,?snakex[0],?snakey[0]);

}

for(int?我?=?1;?我?& lt=?len?i++)

{

body.paintIcon(这个,?g,?snakex[i],?snakey[I]);

}

g . dispose();

}

公?作废?设置()

{

莱恩。=?5;

方想?=?”R”;

snakex[0]?=?100;

snakey[0]?=?100;

snakex[1]?=?75;

snakey[1]?=?100;

snakex[2]?=?50;

snakey[2]?=?100;

}

@覆盖

公?作废?keyTyped(KeyEvent?e)

{}

@覆盖

公?作废?按键(按键事件?e)

{

开关(e.getKeyCode())

{

案子?关键事件。VK_UP:

方想?=?“U”;

打破;

案子?关键事件。VK _唐:

方想?=?“D”;

打破;

案子?关键事件。VK _左:

方想?=?“L”;

打破;

案子?关键事件。VK右:

方想?=?”R”;

打破;

默认值:

打破;

}

repaint();

}

@覆盖

公?作废?keyReleased(KeyEvent?e)

{}

}

公?班级?蛇

{

公?静电?作废?main(String[]?参数)

{

JFrame?框架?=?新的?JFrame();

frame.setSize(900,?700);

frame.setLayout(新?BorderLayout());

frame . setlocationrelativeto(null);

frame . setdefaultcloseoperation(JFrame。EXIT _ ON _ CLOSE);

蛇板?面板?=?新的?snake panel();

frame . add(panel);

frame.addKeyListener(面板);

frame . set visible(true);

}

}