一个Java小游戏,运行后不显示背景图片,其它一切正常,知道是一个小问题,但就是解不开,我用的是jdk1.6.0_17 请问要显示背景图片该怎样修改?请复制出完整的源代码!
源代码:
//猜猜看游戏
//import java.applet.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.net.*;
import java.awt.image.*;public class game extends JApplet implements ActionListener
{
private Timer timer;
private Image image1;
private JButton command;
//编号显示标签
private JLabel no1=new JLabel("no:0");
//成绩显示标签
private JLabel scorel=new JLabel("score:0");
//题干标签
private JLabel msg1=new JLabel("下面哪一张卡片中的图案是");
//水果名称标签
private JLabel p_item=new JLabel("");
//反馈信息标签
private JLabel feedback=new JLabel("congratulations!",JLabel.CENTER);
private String[] picname={"00","01","02","03","04","05","06","07","08","09","10","11",
"12","13","14","15","16","17","18","19","20","21","22"};
private String[] datalist={"卡片","百合花","吊钟花","杜鹃花","桂花",
"荷花","蝴蝶花","菊花","康乃馨","兰花",
"玫瑰花","梅花","茉莉花","牡丹","木兰花",
"蒲公英","牵牛花","山茶花","桃花","野百合",
"樱花","玉兰花","郁金香"};
//存放图库的数组
private ImageIcon iconlist[]=new ImageIcon[23];
//图片文件名数组
private String piclist[]=new String [23];
//显示图片的按钮数组
private JButton picbutton[]=new JButton[4];
//存放按钮图片的数组
private ImageIcon but_icon[]=new ImageIcon[2];
//命令按钮的图片文件名数组
private String but_picname[]={"pic/start.jpg","pic/stop.jpg"};
//图片的状态数组
private int statuslist[]=new int[4];
//游戏状态变量
private int game_status;
//成绩变量
private int p_score;
//题号变量
private int item_no;
private int item_flag;
private int pic_answer;
//总题数
private int total_items=5;
//题库数组
private int itemlist[][]=new int[total_items][4];
//初始化applet
public void init()
 {
//取得每一张图块的文件名
for(int i=0;i<23;i++){
piclist[i]="pic/p"+picname[i]+".jpg";
}
setSize(500,400);
//加载背景图案
try{image1=getImage(new URL(getCodeBase(),"pic/background.jpg"));}
catch(MalformedURLException e){System.out.println("下载图片文件发生错误URL:"+e+"\n");return;}
//建立一个放置所有组件的panel
ImgJPanel pan1=new ImgJPanel(image1);
pan1.setLayout(null);
//设定panel的尺寸
pan1.setSize(500,400);
try{
//加载命令按钮的图案
for(int i=0;i<2;i++){
but_icon[i]=new ImageIcon(new URL(getCodeBase(),but_picname[i]));
}
}
catch(MalformedURLException e){System.out.println("下载图片文件发生错误 URL:"+e+"\n");return;}
//在panel上建立一个command按钮
command=new JButton(but_icon[0]);
command.setSize(97,33);
command.setLocation(380,20);
command.addActionListener(this);
pan1.add(command);
//设定反馈信息标签的格式
feedback.setBounds(40,300,420,60);
feedback.setForeground(Color.blue);
feedback.setVisible(false);
feedback.setFont(new Font("Arial",Font.PLAIN,36));
//将反馈信息标签加入panel中
pan1.add(feedback);
loadpicture();
//在panel上建立4个JButton组件,以显示4张水果图片
for(int i=0;i<4;i++){
picbutton[i]=new JButton(iconlist[0]);
 picbutton[i].setSize(71,96);
 picbutton[i].setLocation(64+i*95,172);
 picbutton[i].addActionListener(this);
 pan1.add(picbutton[i]);
}
//设定编号标签的格式
no1.setSize(80,24);
no1.setForeground(Color.red);
no1.setLocation(200,35);
//将编号标签加入panel中
pan1.add(no1);
//设定成绩标签的格式
scorel.setSize(80,24);
scorel.setForeground(Color.red);
scorel.setLocation(280,35);
//将成绩标签加入panel中
  pan1.add(scorel);
  //设定题干标签的格式
  msg1.setSize(400,24);
  msg1.setForeground(Color.red);
  msg1.setLocation(30,105);
  msg1.setFont(new Font("宋体",Font.PLAIN,24));
  msg1.setVisible(false);
  //将题干标签加入panel中
  pan1.add(msg1);
  //设定水果名称标签的格式
  p_item.setSize(80,24);
  p_item.setForeground(Color.blue);
  p_item.setLocation(350,105);
  p_item.setFont(new Font("宋体",Font.PLAIN,24));
  p_item.setVisible(false);
  //将水果名称标签加入panel中
  pan1.add(p_item);
  //将panel加入ContentPane中
  add(pan1);
  timer=new Timer(1000,this);
  gene_items();
}

//开始运行applet
public void start()
{
game_status=0;
}

//加载图片
public void loadpicture(){
try{
for(int i=0;i<23;i++){
iconlist[i]=new ImageIcon(new URL(getCodeBase(),piclist[i]));
}
}
catch(MalformedURLException e){System.out.println("下载图片文件发生错误 URL:"+e+"\n");return;}
}
//--随机排列串行数据
public void random_list(int xlist[]){
int x,i,j,c;
c=xlist.length;
for(i=0;i<c;i++){
j=(int)(Math.random()*c);
x=xlist[i];
xlist[i]=xlist[j];
xlist[j]=x;
}
}
// --随机产生题组编号
public void gene_items(){
int i,xlist[]=new int[22];
for(i=0;i<22;i++){
xlist[i]=i+1;
}
for(i=0;i<total_items;i++){
random_list(xlist);
itemlist[i][0]=xlist[0];
itemlist[i][1]=xlist[1];
itemlist[i][2]=xlist[2];
itemlist[i][3]=xlist[3];
}
}
//显示新的题目
public void get_item(){
item_no=item_no+1;
if(item_no>total_items){
game_status=0;
feedback.setText("Game Over!");
feedback.setVisible(true);
msg1.setVisible(false);
p_item.setVisible(false);
command.setIcon(but_icon[0]);
}else{
for(int i=0;i<4;i++){
picbutton[i].setIcon(iconlist[0]);
statuslist[i]=0;
}
item_flag=1;
no1.setText("no:"+item_no);
pic_answer=(int)(Math.random()*4);
p_item.setText(datalist[itemlist[item_no-1][pic_answer]]);
}
}
//按下命令按钮时的事件处理程序
public void actionPerformed(ActionEvent e){
int i,c;
if(e.getSource()==command){
switch(game_status){
case 0://start 开始游戏
 game_status=1;
 feedback.setVisible(false);
 command.setIcon(but_icon[1]);
 item_no=0;
 p_score=0;
 scorel.setText("score:"+p_score);
 msg1.setVisible(true);
 p_item.setVisible(true);
 get_item();
 break;
case 1://stop停止游戏
 game_status=0;
 feedback.setText("Stop!");
 feedback.setVisible(true);
 command.setIcon(but_icon[0]);
 break;
}
}
for(i=0;i<4;i++){
if(e.getSource()==picbutton[i]){
//判断这张牌是否已经翻开
if(statuslist[i]==0&&item_flag==1){
//将牌翻开
picbutton[i].setIcon(iconlist[itemlist[item_no-1][i]]);
 statuslist[i]=1;
 //判断是否翻到正确答案
 if(i==pic_answer){
  c=0;
  //计算本次得分
  for(i=0;i<4;i++){
  if(statuslist[i]==0)c++;
  }
  p_score=p_score+c*10;
  scorel.setText("score:"+p_score);
  if(c>0){
  feedback.setText("congratulations!");
  }else{
  feedback.setText("once again!");
  }
  feedback.setVisible(true);
  timer.start();
  item_flag=0;
}
}
}
}
 if(game_status==1&&e.getSource()==timer){
  feedback.setVisible(false);
  timer.stop();
  get_item();
 }
  }
  //JPanel的扩展对象,用来放置背景图案
   class ImgJPanel extends JPanel
   {
   private Image image1;
   public ImgJPanel(Image image_a){
   this.image1=image_a;
   }
   public void paintcomponent(Graphics g)
    {
     super.paintComponent(g);
     g.drawImage(image1,0,0,500,400,this);
 }
   }
}