Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1053 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  Mes applet ne fonctionnent pas avec la Microsoft Virtual Machine

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Mes applet ne fonctionnent pas avec la Microsoft Virtual Machine

n°1082710
xman
branleur
Posté le 13-05-2005 à 20:38:02  profilanswer
 

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 !
mood
Publicité
Posté le 13-05-2005 à 20:38:02  profilanswer
 

n°1082803
Mosca
Posté le 13-05-2005 à 22:05:36  profilanswer
 

up !

n°1082804
Lam's
Profil: bas.
Posté le 13-05-2005 à 22:05:49  profilanswer
 

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)

n°1082812
elianor
bannie 17 fois
Posté le 13-05-2005 à 22:14:06  profilanswer
 

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


---------------
JE JE SUIS LIBERTINEEEEEEEEEEE JE SUIS UNE CATINNNNNNNNN §§§§§§§§
n°1082814
pinguin007
a npe error
Posté le 13-05-2005 à 22:19:10  profilanswer
 

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
n°1082819
Lam's
Profil: bas.
Posté le 13-05-2005 à 22:28:51  profilanswer
 

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.

n°1082825
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 13-05-2005 à 22:32:32  profilanswer
 

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


---------------
J'ai un string dans l'array (Paris Hilton)
n°1082847
elianor
bannie 17 fois
Posté le 13-05-2005 à 22:53:25  profilanswer
 

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 §§§§§§§§
n°1082851
xman
branleur
Posté le 13-05-2005 à 23:00:06  profilanswer
 

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 !
n°1082855
elianor
bannie 17 fois
Posté le 13-05-2005 à 23:03:31  profilanswer
 

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


---------------
JE JE SUIS LIBERTINEEEEEEEEEEE JE SUIS UNE CATINNNNNNNNN §§§§§§§§
mood
Publicité
Posté le 13-05-2005 à 23:03:31  profilanswer
 

n°1082859
xman
branleur
Posté le 13-05-2005 à 23:06:12  profilanswer
 

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 !
n°1083013
Lam's
Profil: bas.
Posté le 14-05-2005 à 09:56:07  profilanswer
 

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

n°1083044
xman
branleur
Posté le 14-05-2005 à 11:00:10  profilanswer
 

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 !
n°1083055
Lam's
Profil: bas.
Posté le 14-05-2005 à 11:19:04  profilanswer
 

Oui. :D

n°1083059
xman
branleur
Posté le 14-05-2005 à 11:30:35  profilanswer
 

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 !
n°1083075
Lam's
Profil: bas.
Posté le 14-05-2005 à 11:55:53  profilanswer
 

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

n°1083089
xman
branleur
Posté le 14-05-2005 à 12:08:18  profilanswer
 

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 !
n°1083094
Lam's
Profil: bas.
Posté le 14-05-2005 à 12:19:50  profilanswer
 

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/
:)

n°1083100
xman
branleur
Posté le 14-05-2005 à 12:41:20  profilanswer
 

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 !
n°1083129
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 14-05-2005 à 13:16:51  profilanswer
 

'tain [:wam]
on croirait la version amiga


---------------
J'ai un string dans l'array (Paris Hilton)
n°1083190
xman
branleur
Posté le 14-05-2005 à 14:31:19  profilanswer
 

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 !
n°1083192
xman
branleur
Posté le 14-05-2005 à 14:34:06  profilanswer
 

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 !
n°1083286
xman
branleur
Posté le 14-05-2005 à 16:45:32  profilanswer
 

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 !
n°1083347
xman
branleur
Posté le 14-05-2005 à 17:43:50  profilanswer
 

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 !
n°1083433
Mosca
Posté le 14-05-2005 à 18:45:21  profilanswer
 

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

n°1083543
xman
branleur
Posté le 14-05-2005 à 20:27:45  profilanswer
 

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 !
n°1083582
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 14-05-2005 à 22:02:08  profilanswer
 

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


---------------
J'ai un string dans l'array (Paris Hilton)
n°1083590
esox_ch
Posté le 14-05-2005 à 22:05:27  profilanswer
 

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
n°1083599
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 14-05-2005 à 22:07:43  profilanswer
 

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)
n°1083602
Lam's
Profil: bas.
Posté le 14-05-2005 à 22:08:28  profilanswer
 

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.

n°1083613
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 14-05-2005 à 22:12:32  profilanswer
 

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)
n°1083674
esox_ch
Posté le 14-05-2005 à 22:38:32  profilanswer
 

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
n°1083725
xman
branleur
Posté le 14-05-2005 à 22:53:25  profilanswer
 

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 !
mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  Mes applet ne fonctionnent pas avec la Microsoft Virtual Machine

 

Sujets relatifs
problème applet java.io.IOException: open HTTP connection failed[applet][swing]drag and drop
[VB.NET] Déployer un exe sur une autre machine [RÉSOLU]explorer les fichier du serveur a partir d´une applet
Freeze applet signée avec ce merveilleux IE[Applet Java] Problème d'applet
Accès à une URL depuis une appletInclure un applet java sur une jsp d'un serveur silverstream
arret service / reboot machine . pouvez-vous me le valider ?interface homme machine
Plus de sujets relatifs à : Mes applet ne fonctionnent pas avec la Microsoft Virtual Machine


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR