2010-10-03 4 views
0

Je rencontre des problèmes avec un applet HelloWorld.Hello World, Java Applet, Problème

Voici mon code Java:

package webCrawler.applet2; 

import javax.swing.JApplet; 
import java.awt.Graphics; 

public class HappyFace extends JApplet 
{ 
    public void paint (Graphics canvas) 
    { 
     canvas.drawOval(100,50,200,200); 
     canvas.fillOval(155,100,10,20); 
     canvas.fillOval(230,100,10,20); 
     canvas.drawArc(150,160,100,50,0,180); 
    } 
} 

Voici mon index.html:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 

<html> 
    <head> 
    </head> 
    <body bgcolor="000000"> 
     <center> 
      <applet 
       code = "HappyFace.class" 
       width = "500" 
       height = "300" 
       > 
      </applet> 
     </center> 
    </body> 
</html> 

Dans Eclipse si je vais: Run -> Run cela fonctionne, si je fais ceci:

% pwd 
/Users/me/Documents/workspace/WebCentric/bin/webCrawler/applet2 
% ls 
HappyFace.class   index.html 
% open index.html 

Il ouvre la page html dans Firefox mais l'application ne fonctionne pas:

app not working

Mise à jour:

Comme Pablo Santa Cruz suggested I:

  • changé le lieu de index.html
  • Changé index.html être code = "webCrawler.applet2.HappyFace"

C'est l'exception dans la console.

java.lang.UnsupportedClassVersionError: webCrawler/applet2/HappyFace (Unsupported major.minor version 49.0) 
    at java.lang.ClassLoader.defineClass0(Native Method) 
    at java.lang.ClassLoader.defineClass(ClassLoader.java:539) 
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:123) 
    at sun.applet.AppletClassLoader.findClass(AppletClassLoader.java:213) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:289) 
    at sun.applet.AppletClassLoader.loadClass(AppletClassLoader.java:151) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:235) 
    at sun.applet.AppletClassLoader.loadCode(AppletClassLoader.java:680) 
    at sun.applet.AppletPanel.createApplet(AppletPanel.java:635) 
    at sun.plugin.AppletViewer.createApplet(AppletViewer.java:1991) 
    at jep.AppletFramePanel.createApplet(Unknown Source) 
    at sun.applet.AppletPanel.runLoader(AppletPanel.java:564) 
    at sun.applet.AppletPanel.run(AppletPanel.java:301) 
    at jep.AppletFramePanel.run(Unknown Source) 
    at java.lang.Thread.run(Thread.java:552) 

Répondre

2

Dans votre code attribut dans la balise applet, vous devez utiliser FQN de la classe: webCrawler.applet2.HappyFace (supprimer l'extension .class également). Assurez-vous également d'avoir votre fichier .class dans la structure de répertoire (package) appropriée. Dans votre cas, les fichiers HTML doivent être dans:

/Users/me/Documents/workspace/WebCentric/bin/ 

Et que votre fichier HappyFace.class devrait être:

/Users/me/Documents/workspace/WebCentric/bin/webCrawler/applet2 

Aussi, gardez à l'esprit qu'il ya une console Java sur la Navigateur (IE, Firefox, Chrome, Safari), vous pouvez jeter un oeil à voir quelle est l'erreur que vous obtenez sur l'exécution de l'applet.

MISE À JOUR:

Votre exception dit que vous avez compilé votre code avec une nouvelle version de Java que la machine virtuelle Java prend en charge. C'EST À DIRE. vous avez utilisé Java 6 compilateur dans Eclipse mais votre navigateur Java Plugin est uniquement Java 5 (JRE est seulement Java 5).

Je voudrais modifier les paramètres du projet dans Eclipse, dites-lui d'utiliser Java 5 compilateur compatible (il existe une option pour cela), compiler et déployer l'applet à nouveau. Ça devrait marcher.

+0

l'a changé en 'code =" webCrawler.applet2.HappyFace "' mais toujours pas de dés. – sixtyfootersdude

+0

avez-vous également déplacé vos fichiers comme je l'ai suggéré? –

+0

Oui, je l'ai fait, voir ma mise à jour. – sixtyfootersdude