Mes applet ne fonctionnent pas avec la Microsoft Virtual Machine

Mes applet ne fonctionnent pas avec la Microsoft Virtual Machine - Java - Programmation

Marsh Posté le 13-05-2005 à 20:38:02    

Bonjour,
 
J'ai fait un petit jeu en applet Java (à partir du JDK de J2SE 1.5.0_3) que vous pouvez voir ici : http://xmxmxm.perso.cegetel.net/francky
J'aurais voulu le rendre compatible avec la Microsoft VM afin qu'un maximum de gens puisse y jouer mais je ne sais pas comment faire.
 
En fait la moindre applet (genre Hello World) que je compile ne marche pas.
Quelle target faut-il choisir ?
 
J'ai rendu mon jeu compatible Java 1.1 en le compilant avec la commande ci-dessous mais ça ne suffit pas. :cry:  
javac *.java -source 1.2 -target 1.1


Message édité par xman le 13-05-2005 à 20:40:19

---------------
Bon, puisque presque tout le monde a une signature, ben moi aussi ! Na !
Reply

Marsh Posté le 13-05-2005 à 20:38:02   

Reply

Marsh Posté le 13-05-2005 à 22:05:36    

up !

Reply

Marsh Posté le 13-05-2005 à 22:05:49    

Chez moi (Firefox + JRE 1.4), ça merde. La console Java me donne:


Java.lang.NoSuchMethodError: java.lang.Integer.valueOf(I)Ljava/lang/Integer;
 at Niveau.<init>(Niveau.java:18)
 at WhackAFrancky.init(WhackAFrancky.java:67)
 at sun.applet.AppletPanel.run(AppletPanel.java:347)
 at java.lang.Thread.run(Thread.java:536)

Reply

Marsh Posté le 13-05-2005 à 22:14:06    

Je peux avoir les références de la musique :o


---------------
JE JE SUIS LIBERTINEEEEEEEEEEE JE SUIS UNE CATINNNNNNNNN §§§§§§§§
Reply

Marsh Posté le 13-05-2005 à 22:19:10    

elianor a écrit :

Je peux avoir les références de la musique :o


 
pas encore écouté mais je dirais :  
musique de Mike Oldfield And Maggie Reilly - Moonlight Shadow
 
(la musique de la chaine quoi :o)
 
edit : en fait nan, c'est la danse du poisson, il me semble que ca vient de l'emmission octopuce et reprise il y a peu dans bien-être, pour plus d'info le topic direct8 sur bla²


Message édité par pinguin007 le 13-05-2005 à 22:22:39

---------------
LoD 4 ever && PWC spirit|Le topak de l'iMP-450|inDATOUNEwe trust
Reply

Marsh Posté le 13-05-2005 à 22:28:51    

Nan, c'est la danse du poisson. :o
 
Avec Firefox 1.04 + JRE 1.4, ça merde. Mais avec le JRE 1.5 update 3, ça marche.

Reply

Marsh Posté le 13-05-2005 à 22:32:32    

et merde, j'ai baffé Célia [:petrus75]


---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 13-05-2005 à 22:53:25    

Ca sens un autoboxing mal maitrisé tout ça :o
 
Tu peux nous faire pêter le source :o


---------------
JE JE SUIS LIBERTINEEEEEEEEEEE JE SUIS UNE CATINNNNNNNNN §§§§§§§§
Reply

Marsh Posté le 13-05-2005 à 23:00:06    

elianor a écrit :

Ca sens un autoboxing mal maitrisé tout ça :o
 
Tu peux nous faire pêter le source :o


 
Oui je pense aussi car j'avoue avoir du mal à jongler entre les int et les Integer.
Ca marche bien avec JRE 1.5.* mais avec des versions plus anciennes j'ai souvent besoin de faire des retouches.
 
Voici la petite classe qui génère l'exception mentionnée ci-dessus.
 

Code :
  1. import java.awt.*;
  2. import java.awt.event.*;
  3. import javax.swing.*;
  4. public class Niveau extends JLabel
  5. {
  6.   private int niveau;
  7.   public final static int NIVEAU_MAXI = 10;
  8.   public final static int SALVES_PAR_NIVEAU = 8;
  9.   Niveau()
  10.   {
  11.     niveau = 1;
  12.     WhackAFrancky.fixerDimensions(this,40,30);
  13.     setText(Integer.valueOf(niveau).toString());
  14.   }
  15.   int getInt()
  16.   {
  17.     if (niveau>NIVEAU_MAXI)
  18.       return NIVEAU_MAXI;
  19.     else
  20.       return niveau;
  21.   }
  22.   public void reset()
  23.   {
  24.     niveau = 1;
  25.     setText(Integer.valueOf(niveau).toString());
  26.   }
  27.   public void inc()
  28.   {
  29.     niveau++;
  30.     setText(Integer.valueOf(niveau).toString());
  31.   }
  32. }


 
EDIT : Merde j'ai oublié de mettre ma méthode getInt en public !!! Si ça se trouve c'est ça le bug. :whistle:
EDIT 2 : Ah bah non l'erreur est à la ligne 18, pas 21... Mais ça ne fera pas de mal que je la passe en public.


Message édité par xman le 13-05-2005 à 23:04:30

---------------
Bon, puisque presque tout le monde a une signature, ben moi aussi ! Na !
Reply

Marsh Posté le 13-05-2005 à 23:03:31    

Au lieu de :
 
Integer.valueOf(niveau).toString()
 
Met plutot :  
 
Integer.toString (niveau)
 


---------------
JE JE SUIS LIBERTINEEEEEEEEEEE JE SUIS UNE CATINNNNNNNNN §§§§§§§§
Reply

Marsh Posté le 13-05-2005 à 23:03:31   

Reply

Marsh Posté le 13-05-2005 à 23:06:12    

Ah ! Merci ! Je ne savais pas qu'on pouvait faire comme ça.
 
Maintenant, as-tu une idée de pourquoi la zone de mon applet reste déespérément grise quand j'utilise la MS VM au lieu de la JVM de Sun ?


---------------
Bon, puisque presque tout le monde a une signature, ben moi aussi ! Na !
Reply

Marsh Posté le 14-05-2005 à 09:56:07    

Bah tu as l'air d'utiliser du Swing. Et Swing, ça va pas trop passer avec IE.

Reply

Marsh Posté le 14-05-2005 à 11:00:10    

C'est marrant, c'est la réflexion que je me suis faite en me réveillant ce matin.
 
Et je le remplace pas quoi ? AWT ?


---------------
Bon, puisque presque tout le monde a une signature, ben moi aussi ! Na !
Reply

Marsh Posté le 14-05-2005 à 11:19:04    

Oui. :D

Reply

Marsh Posté le 14-05-2005 à 11:30:35    

OK, j'vais voir ça... En espérant que j'aurai juste quelques "J" à virer... :D
 
EDIT : eh merde ! Pas de classes Timer ni BoxLayout... :/


Message édité par xman le 14-05-2005 à 11:53:37

---------------
Bon, puisque presque tout le monde a une signature, ben moi aussi ! Na !
Reply

Marsh Posté le 14-05-2005 à 11:55:53    

Tu viens de découvrir pourquoi 99% des jeux pour le web sont en Flash de nos jours. :)

Reply

Marsh Posté le 14-05-2005 à 12:08:18    

Ouaip. :/
Mais bon, j'ai appris Java il y a 2 mois. Donc ma prochaine mission, c'est d'apprendre Flash. :D


---------------
Bon, puisque presque tout le monde a une signature, ben moi aussi ! Na !
Reply

Marsh Posté le 14-05-2005 à 12:19:50    

Ah nan, la mode de nos jours c'est de tout faire en HTML/CSS+Javascript. Comme le remake de Lemmings:
   http://193.151.73.87/games/lemmings/
:)

Reply

Marsh Posté le 14-05-2005 à 12:41:20    

Chuis impressionné ! Je pensais pas qu'on pouvait faire tout ça en JavaScript. :ouch:


---------------
Bon, puisque presque tout le monde a une signature, ben moi aussi ! Na !
Reply

Marsh Posté le 14-05-2005 à 13:16:51    

'tain [:wam]
on croirait la version amiga


---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 14-05-2005 à 14:31:19    

Rhâââ mais c'est trop dur de se passer de swing ! :cry:
 
1°) Comment avoir une classe comme javax.swing.Timer ?
 
2°) Pourquoi mon Panel (anciennement JPanel) dans lequel je dessine le jeu se met à clignotter comme un fou ?
J'avais redéfini la méthode paint() pour simplement afficher une Image que je dessine en mémoire avant d'appeler repaint(). Il devrait redessiner l'image par dessus la précedente. Je ne comprends pas pourquoi il dessine un flash blanc avant de redessiner l'image.
 
Voici ma méthode paint :

Code :
  1. public void paint(Graphics g) { g.drawImage(image,0,0,this); }


Message édité par xman le 14-05-2005 à 14:31:35

---------------
Bon, puisque presque tout le monde a une signature, ben moi aussi ! Na !
Reply

Marsh Posté le 14-05-2005 à 14:34:06    

Bon, pour mon problème 2, j'ai réussi à le corriger en faisant simplement appel à :
paint(getGraphics());
au lieu de :
repaint();
 
Je ne sais pas si c'est comme ça qu'il fallait faire mais au moins ça marche... :whistle:
 
Donc il ne me reste plus qu'à trouver un Timer compatible MS VM... :sweat:
EDIT : Il semble que je vais devoir me pencher sur java.util.Timer mais il a l'air plus compliqué.


Message édité par xman le 14-05-2005 à 14:49:03

---------------
Bon, puisque presque tout le monde a une signature, ben moi aussi ! Na !
Reply

Marsh Posté le 14-05-2005 à 16:45:32    

Ca y est, j'ai réussi à complètement me passer de swing ! [:dawa]
 
Mais lorsque j'exécute mon applet avec a MS VM, ça me dit que ça ne connait pas la classe BufferedImage. :/
C'est à se demander à quoi sert l'option "-target 1.1". :/
 
Alors que puis-je utiliser comme classe pour représenter une image (RGB 24 bits) en mémoire dont je donne les dimensions (constantes entières) à l'instanciation et pas en chargeant une image dedans (car je ne veux pas charger d'image dedans mais dessiner dedans à partir de son Graphics) ?
 
EDIT : avec MemoryImageSource ? Qu'est-ce qui me garantit que ça va pas être incompatible aussi ?


Message édité par xman le 14-05-2005 à 17:09:33

---------------
Bon, puisque presque tout le monde a une signature, ben moi aussi ! Na !
Reply

Marsh Posté le 14-05-2005 à 17:43:50    

Bon ça c'est réglé avec tout simplement image = createImage(new Dimensions(x,y)); :D
 
Et maintenant ce sont les méthodes setPreferedSize, setMinimumSize et setMaximumSize qui n'existent pas pour mes Panel en version 1.1. :pt1cable:
Et bien sûr setSize ne semble rien faire. :(


---------------
Bon, puisque presque tout le monde a une signature, ben moi aussi ! Na !
Reply

Marsh Posté le 14-05-2005 à 18:45:21    

Courage, le jeu en vaut la chandelle !  [:crevette_88]

Reply

Marsh Posté le 14-05-2005 à 20:27:45    

Rhââââââ !
J'ai enfin autre chose qu'un rectangle gris et j'ai réussi à dimensionner et placer mes composants là où il faut... MAIS...
 
J'ai remplacé javax.swing.Timer par java.util.Timer et java.util.TimerTask et maintenant, quand je veux lancer le jeu, ça me dit que ça ne connait pas la classe java.util.TimerTask ! :mad:
Mais comment on fait un timer avec cette putain de MS VM préhistorique ??? :cry:


Message édité par xman le 14-05-2005 à 20:28:50

---------------
Bon, puisque presque tout le monde a une signature, ben moi aussi ! Na !
Reply

Marsh Posté le 14-05-2005 à 22:02:08    

putain, mais t'attends quoi pour télécharger la VM de Sun bordayl ? [:mlc]


---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 14-05-2005 à 22:05:27    

A mon avi le probleme c'est pas lui, c'est les visiteurs potentiels de son site  :sarcastic:


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
Reply

Marsh Posté le 14-05-2005 à 22:07:43    

ouais enfin bon, il a qu'à mettre sur son site qu'il faut télécharger la VM de Sun, avec le lien qui va bien...
ça va bien 5 mn les softs qui utilisent des SDK antédiluviens hein


---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 14-05-2005 à 22:08:28    

Harkonnen a écrit :

putain, mais t'attends quoi pour télécharger la VM de Sun bordayl ? [:mlc]


stfu u moron. Il le fait pour que les boulays qui continuent à n'utiliser que IE sans avoir le JRE d'installé puisse l'utiliser.
Spece de noob.

Reply

Marsh Posté le 14-05-2005 à 22:12:32    

Lam's a écrit :

stfu u moron. Il le fait pour que les boulays qui continuent à n'utiliser que IE sans avoir le JRE d'installé puisse l'utiliser.
Spece de noob.


cf ma réponse plus haut :o
il a qu'à mettre le lien vers la JVM de Sun sur son site, après tout j'oblige bien les gens à dl le framework .NET avec mon plugin moi :spamafote:
ceux qui veulent pas le faire, et bien ils ont qu'à aller voir ailleurs


---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 14-05-2005 à 22:38:32    

Oui mais d'un coté, merci l'accessibilité ...  
 
je suis d'accord avec vous sur le fait que la vm de MS est un scandale,  mais il ne faut non plus pas oublier que pas tout le monde a un adsl et peut se permettre de telecharger un package qui fait plusieurs dizaines de Mo


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
Reply

Marsh Posté le 14-05-2005 à 22:53:25    

Exactement. :o
 
Evidemment que chez moi j'ai la dernière version du JDK+JRE.
Mais je veux pas forcer les gens à installer un truc 15 Mo qui en bouffe presque 60 une fois installé.
 
Et puis s'ils sont au boulot et que leur administrateur veut pas leur installer une nouvelle machine Java... :D  
 
Et puis il y a encore des sites (genre la section de jeu en ligne de fdjeux.com) qui refusent tout simplement de se lancer si t'as pas la MS VM.
 
Mais je précise quand même actuellement sur ma page le lien pour la JVM de Sun.


Message édité par xman le 14-05-2005 à 22:55:28

---------------
Bon, puisque presque tout le monde a une signature, ben moi aussi ! Na !
Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed