Applet qui fonctionne seulement en local :-(

Dinofly Messages postés 22 Date d'inscription vendredi 10 janvier 2003 Statut Membre Dernière intervention 22 mars 2005 - 10 janv. 2003 à 14:55
Dinofly Messages postés 22 Date d'inscription vendredi 10 janvier 2003 Statut Membre Dernière intervention 22 mars 2005 - 12 janv. 2003 à 17:48
Rebonjour à tous,
Je débute en Java et j'ai converti une petite application Java que j'ai trouvée dans un bouquin en applet.
Celle ci fonctionne très bien lorsque je l'exécute en local en ouvrant mon fichier HTML qui y fait référence.
L'appletviewer l'exécute aussi très bien.

Mais lorsque je la mets sur un serveur (testé sur Free, Planet Emulation (Debian + Apache) et un serveur web Debian + Apache sur un réseau local) elle ne s'exécute tout simplement pas.

L'applet se trouve ici:
http://www.planetemu.net/temp/applets/PeintreApplet.html

Et voici sa source:

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class PeintreApplet extends JApplet
{ private int valeurX -10, valeurY -10;

public void init()
{
getContentPane().add(
new Label( "Glissez la souris pour dessiner" ),
BorderLayout.SOUTH );
addMouseMotionListener(
new MouseMotionAdapter()
{
public void mouseDragged( MouseEvent evenement )
{
valeurX = evenement.getX();
valeurY = evenement.getY();
repaint();
}

}
);
}

public void start()
{
}

public void paint( Graphics g )
{
g.fillOval( valeurX, valeurY, 4, 4 );
}
}

Si quelqu'un arrive à cerner le problème et si possible à entrevoir une solution... merci beaucoup.

Les jeux vidéos ont aussi leur histoire

4 réponses

JHelp Messages postés 261 Date d'inscription jeudi 5 septembre 2002 Statut Membre Dernière intervention 6 octobre 2005 11
10 janv. 2003 à 17:13
Je viens de regarder ton applet et j'ai afficher la console Java, pratique pour corriger les erreurs, elle indique qu'elle ne trouve pas la classe PeintreApplet$1 dans l'init de la classe PeintreApplet à la ligne 15.
Soit tu n'as pas transféré cette classe sur ton site, soit il y a une autre erreur.
Dans le dernier cas dit le moi, ou si tu as une question à propos des classes $.
JHelp
0
Dinofly Messages postés 22 Date d'inscription vendredi 10 janvier 2003 Statut Membre Dernière intervention 22 mars 2005
10 janv. 2003 à 18:01
Tout d'abord merci pour ta réponse ;)

J'ai bien transféré le .class sur mon site, et j'ai vu qu'effectivement dans la console java ca rale bizarrement.
Ce que je ne comprends pas c'est le $1 à la fin du nom de ma classe, il sort d'ou ?
J'ai bien vérifié mon code source, j'ai jamais fait de faute de frappe de ce genre %-6

Les jeux vidéos ont aussi leur histoire
0
JHelp Messages postés 261 Date d'inscription jeudi 5 septembre 2002 Statut Membre Dernière intervention 6 octobre 2005 11
11 janv. 2003 à 01:12
En fait, tu as du crééer un listnerner ou une classe interne, je ne me trompe pas ?
Les listner que tu crée de cette façon :
addMouseListener
(
   new MouseAdapter()
   {
       public void mouseCliked(MouseEvent me)
       {
        }
   }
);

Sont des inner classes, des classes interne, en effet, tu définit une nouvelle classe, qui n'a pas de nom, héritant de MouseAdapter avec des nouvelle propriété.
Alors pour s'y retrouvé, comme il ne peut y avoir qu'une seule classe par fichier .class, Java en génère une autre à la compilation. Comme il n'est pas très inventif, il reprend le nom de la classe dans laquelle se trouve la inner class (classe interne) et lui ajoute un $ suivit d'un numéro, qui corespond seulement à l'ordre de complilation.
C'est pour celà qu'il faut transmettre tous les .class y compris les $
As-tu compris mon explication, ou te reste-t-il des questions ?
JHelp
0
Dinofly Messages postés 22 Date d'inscription vendredi 10 janvier 2003 Statut Membre Dernière intervention 22 mars 2005
12 janv. 2003 à 17:48
Pigé !
Merci beaucoup beaucoup beaucoup beaucoup....

...beaucoup !

Les jeux vidéos ont aussi leur histoire
0
Rejoignez-nous