2010-06-10 108 views
2

我是一名在家庭作業項目上工作的學生。我花了DAYS試圖獲得以下代碼,以在我的新Windows 7筆記本電腦上顯示圖像。我編譯它,並運行它在我的舊XP電腦上,它的工作!我真的想用我的筆記本電腦。有關如何讓它顯示圖像的任何建議? java代碼。 HTML和immage都在我的閃存驅動器上的同一個子目錄中。我嘗試將它們移動到c:Program Files(x86)\ Java \ jdk1.5.0_02 \ bin目錄,但它仍然無法工作。Java問題找不到圖像文件

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(); 
    } 
} 
+0

標籤w/applet以及。你是通過AppletViewer還是在瀏覽器中運行Applet? – 2010-06-10 01:53:43

回答

1

我不是Applet傢伙,但只是cup.gif一起MoveIt.htmlMoveIt.class似乎工作。此外,您將覆蓋Appletpaint()方法,而不是Canvas。順便說一句,arg == "Up"恰好工作,因爲Java字符串是interned,但"Up".equals(arg)是更可靠的謂詞。

+0

感謝您的信息。 JAVA比我意識到的要多得多 – KimR 2010-06-10 23:47:46