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

  FORUM HardWare.fr
  Programmation

  [JAVA] Utiliser plusieurs .class dans la meme applet

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[JAVA] Utiliser plusieurs .class dans la meme applet

n°95325
esteban74
Posté le 31-01-2002 à 14:35:41  profilanswer
 

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

mood
Publicité
Posté le 31-01-2002 à 14:35:41  profilanswer
 

n°95333
darklord22
Nightwish rulezzzzzzzzzzzzz
Posté le 31-01-2002 à 14:59:21  profilanswer
 

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
n°95336
esteban74
Posté le 31-01-2002 à 15:12:33  profilanswer
 

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

n°95341
darklord22
Nightwish rulezzzzzzzzzzzzz
Posté le 31-01-2002 à 15:32:33  profilanswer
 

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
n°95345
esteban74
Posté le 31-01-2002 à 15:35:07  profilanswer
 

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

n°95346
darklord22
Nightwish rulezzzzzzzzzzzzz
Posté le 31-01-2002 à 15:36:00  profilanswer
 

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
n°95506
benou
Posté le 31-01-2002 à 21:08:09  profilanswer
 

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

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

  [JAVA] Utiliser plusieurs .class dans la meme applet

 

Sujets relatifs
[ C++ ] - j'arrive pas a utiliser la fonction random[JAVA]Ajouter un package à mon compilateur
Int -> String en JavaUn bon outil d'analyse de code java ?
Java et SQL[SQL] : comment supprimer plusieurs enregistrements a la fois ?
HTML/PHP : comment utiliser 2 boutons SUBMIT dans un FORM ???????[Java ou Javascript] Imprimante
[java] savoir de quel type d objet il sagis...VB <-> Java = CORBA ?
Plus de sujets relatifs à : [JAVA] Utiliser plusieurs .class dans la meme applet


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