2010-06-10 5 views
2

Je suis un étudiant qui travaille sur un projet de devoirs. J'ai passé des jours à essayer d'obtenir le code suivant pour afficher une image sur mon nouvel ordinateur portable Windows 7. Je l'ai compilé et l'ai exécuté sur mon vieux PC d'xp et cela a fonctionné! Je veux vraiment utiliser mon ordinateur portable. Des suggestions sur comment l'obtenir pour afficher l'image? Le code java HTML et immage sont tous dans le même sous-répertoire sur mon lecteur flash. J'ai essayé de les déplacer dans le répertoire c: Program Files (x86) \ Java \ jdk1.5.0_02 \ bin mais cela ne fonctionnait toujours pas.Java problème ne peut pas trouver fichier image

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

Marqué w/applet ainsi. Courez-vous l'applet via AppletViewer ou dans votre navigateur? –

Répondre

1

Je ne suis pas le gars Applet, mais mettre cup.gif aux côtés MoveIt.html et MoveIt.class semblait fonctionner. En outre, vous remplacez la méthode paint() de Applet, pas celle de Canvas. En passant, arg == "Up" arrive à travailler parce que les chaînes Java sont interned, mais "Up".equals(arg) est le prédicat le plus fiable.

+0

Merci pour l'info. Il y a beaucoup plus de JAVA que je ne le pensais. – KimR

Questions connexes