[JAVA] Utiliser plusieurs .class dans la meme applet

Utiliser plusieurs .class dans la meme applet [JAVA] - Programmation

Marsh Posté le 31-01-2002 à 14:35:41    

Bonjour,
voila mon probleme.
 
J'ai une applet A qui construit 2 fois l'objet B avec la methode new:
B  x = new B();
B  y = new B();
 
Apparemment, rien de plus simple ... SAUF que je me suis rendu compte qu'Exploreur ne construise qu'une seule instance de la class B (et non pas 2 comme il devrait). Resultat ca fait des trucs strange !
 
La solution : copie l'objet B en B' et faire
B  x = new B();
B' y = new B'();
 
Ca marche comme ca mais c'est franchement pas propre. (et je parle pas quand tu as 10.000 x le meme objets ;-(
 
Quelqu'un connait-il ce pb (et la solution).
 
Merci d'avance
 
Esteban

Reply

Marsh Posté le 31-01-2002 à 14:35:41   

Reply

Marsh Posté le 31-01-2002 à 14:59:21    

euh ... Je dois avouer que ton problème me laisse assez perplexe. Aussi pour lever tout doute et éviter de chercher pdt des heures pour rien, voici ce que tu vas faire:
 
dans ton applet (dans la méthode init()) par exemple tu vas écrire le code suivant:
 
B x = new B();
B y = new B();
System.out.println("x vaut :"+x.toString());
System.out.println("y vaut :"+y.toString());
 
Tu lances ton applet et tu ouvres la console Java pour voir les traces. Ce que ce code va te donner c'est l'adresse de l'objet. Si l'adresse est la même, ce dont je doute, alors c'est qu'un objet. Mais sinon il crée bel et bien deux objets différents et ton erreur est ailleurs.
 
Ca doit etre ca.


---------------
What is popular is not always right, what is right is not always popular :D
Reply

Marsh Posté le 31-01-2002 à 15:12:33    

Merci pour ta reponse :
 
vp_fapreader vaut :faceanim.FAPreader@12d
   fapreader vaut :faceanim.FAPreader@aac
 
Donc c bien 2 objets differents !?!
 
Ca me laisse perplexe lors de l'exectution de l'applet, les donnees des 2 objets sont "melangees" !!! En fait, une instance s'arrete (x) pendant l'execution de l'autre (y), puis une fois fini, l'applet re-switch sur la 1er x) ...
 
J'etais en train de chercher sur le web et j'ai vu une histoire avec des threads (implement Runnable + start() et run()). Il etait excrit que la MV n'execute qu'une class a la fois.
 
"... Par contre, chaque classe ClasseX n'existe qu'en un seul exemplaire pour une Machine Virtuelle, même si ClasseX est utilisée par différentes applets ... Ceci est à opposer au C, où les champs static sont uniques pour chaque contexte d'exécution d'un programme..."
 
Ce serait pas une solution pour etre sure de demarrer 2 objets differents ca ?!
 
 
Sinon je donne ma language au chat ....
 
Esteban

Reply

Marsh Posté le 31-01-2002 à 15:32:33    

sans voir ton code je ne peux pas t'aider. Mais j'ai déjà généré des applets qui jouaient avec des dizaines d'instancse de la meme classe sans probleme (et avec des threads)

 

[edtdd]--Message édité par darklord22--[/edtdd]


---------------
What is popular is not always right, what is right is not always popular :D
Reply

Marsh Posté le 31-01-2002 à 15:35:07    

Merci pour ton aide.
Je vais chercher dans la direction des Thread ....
 
a+
 
Esteban

Reply

Marsh Posté le 31-01-2002 à 15:36:00    

euh je n'ai pas dit que c'était les threads la solution :D C'est parce que tu parlais de ca.
 
Bref, ton explicaiton est trop vague et sans code je ne vais pas pouvoir t'aider plus


---------------
What is popular is not always right, what is right is not always popular :D
Reply

Marsh Posté le 31-01-2002 à 21:08:09    

darklord22 a écrit a écrit :

 
dans ton applet (dans la méthode init()) par exemple tu vas écrire le code suivant:
B x = new B();
B y = new B();
System.out.println("x vaut :"+x.toString());
System.out.println("y vaut :"+y.toString());




Coup de bol qu'il avait pas redéfinit le toString() ! ;)
 
esteban74, je comprend pas bien non plus ton histoire ... A première vu, ca m'étonnerait que ce soit un problème de thread. Tu es sur que tu ne mélanges pas les référence à un moment, ou une bétise dans le genre ??  
(c'est tjs les trucs les plus con qu'on voit le moins)

 

[edtdd]--Message édité par benou--[/edtdd]


---------------
ma vie, mon oeuvre - HomePlayer
Reply

Sujets relatifs:

Leave a Replay

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