Java问题无法找到图像文件

时间:2010-06-10 01:50:55

标签: java applet

我是一名从事家庭作业项目的学生。我花了DAYS试图获取以下代码在我的新Windows 7笔记本电脑上显示图像。我编译它并在我的旧xp pc上运行它,它工作!我真的想用我的笔记本电脑。有关如何让它显示图像的任何建议? java代码。 HTML和immage都在我的闪存驱动器上的同一子目录中。我尝试将它们移动到c:Program Files(x86)\ Java \ jdk1.5.0_02 \ bin目录但它仍然无效。

import java.awt.*;
import java.applet.*;
import java.awt.event.*;
import java.awt.image.*;

public  class MoveIt extends Applet implements ActionListener
{
 // set variables and componets
  private Image cup;
    Panel keypad = new Panel();
 public int top = 15;
 public int left = 15;
 private Button keysArray[];



 public void init()

 {

  cup = getImage(getDocumentBase(), "cup.gif");
  Canvas myCanvas = new Canvas();

  keysArray = new Button[5];
  setLayout(new BorderLayout(5,5));
  setBackground(Color.blue);

  // set up keypad layout
  keypad.setLayout(new BorderLayout(0,0));

  keysArray[0] = new Button("Up");
  keysArray[1] = new Button("Left");
  keysArray[2] = new Button("Center");
  keysArray[3] = new Button("Right");
  keysArray[4] = new Button("Down");

  // add buttons to the keypad panel

  keypad.add(keysArray[0], BorderLayout.NORTH);
  keysArray[0].addActionListener(this);
  keypad.add(keysArray[1], BorderLayout.EAST);
  keysArray[1].addActionListener(this);
  keypad.add(keysArray[2], BorderLayout.CENTER);
  keysArray[2].addActionListener(this);
  keypad.add(keysArray[3], BorderLayout.WEST);
  keysArray[3].addActionListener(this);
  keypad.add(keysArray[4], BorderLayout.SOUTH);
  keysArray[4].addActionListener(this);


  // add canvas and keypad to the BorderLayout
  add(myCanvas, BorderLayout.NORTH);
  add(keypad, BorderLayout.SOUTH);
 }

 public  void paint(Graphics g)
 {
  g.drawImage( cup, left, top, this );
 }


   public void actionPerformed(ActionEvent e)
   {
 // test for menu item clicks
  String arg = e.getActionCommand();
  if (arg == "Up")
   top -=15;
  else
   if (arg == "Down")
    top +=15;
   else
    if (arg == "Left")
     left -=15;
    else
     if (arg == "Right")
      left +=15;
     else
     {
      top = 60;
      left =125;
     }
   repaint();
   }
}

1 个答案:

答案 0 :(得分:1)

我不是Applet家伙,但将cup.gifMoveIt.htmlMoveIt.class放在一起似乎有效。此外,您要覆盖paint()的{​​{1}}方法,而不是Applet的方法。顺便说一句,Canvas恰好起作用,因为Java字符串是interned,但arg == "Up"是更可靠的谓词。