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

  FORUM HardWare.fr
  Programmation
  Java

  [JAVA] retrouver le parent?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[JAVA] retrouver le parent?

n°221964
Slash-
Posté le 30-09-2002 à 19:08:26  profilanswer
 

Je m'explique :  
 
j'ai une classe qui fait tourner le prog (appelons la ClasseBase) qui extends Frame
ensuite dans une de ses methodes, elle apelle une autre classe (une classe de threads) qui fait un certain travail
 
dans cette classe de threads j'ai gere toutes les exceptions possibles des threads, jusque la tout est normal
 
ensuite viens mon probleme, j'aimerais pouvoir afficher les exceptions quand elles surviennent dans une boite de dialogue, j'ai cree la classe pour, j'ai teste a part et elle fonctionne
 
mon probleme c'est que le constructeur de ma boite de dialogue est le suivant :  
 
public MsgBox(Frame parent, String titre, String msg, boolean modal)
 
et que je dois appeler ce constructeur dans ma classe de threads et donc je ne sais pas quoi mettre au premier argument, il faudrait une fonction qui me retrouve le parent
 
quelqu'un peut m'aider?
 
merci

mood
Publicité
Posté le 30-09-2002 à 19:08:26  profilanswer
 

n°221967
veryfree
Posté le 30-09-2002 à 19:13:04  profilanswer
 

Slash- a écrit a écrit :

Je m'explique :  
 
j'ai une classe qui fait tourner le prog (appelons la ClasseBase) qui extends Frame
ensuite dans une de ses methodes, elle apelle une autre classe (une classe de threads) qui fait un certain travail
 
dans cette classe de threads j'ai gere toutes les exceptions possibles des threads, jusque la tout est normal
 
ensuite viens mon probleme, j'aimerais pouvoir afficher les exceptions quand elles surviennent dans une boite de dialogue, j'ai cree la classe pour, j'ai teste a part et elle fonctionne
 
mon probleme c'est que le constructeur de ma boite de dialogue est le suivant :  
 
public MsgBox(Frame parent, String titre, String msg, boolean modal)
 
et que je dois appeler ce constructeur dans ma classe de threads et donc je ne sais pas quoi mettre au premier argument, il faudrait une fonction qui me retrouve le parent
 
quelqu'un peut m'aider?
 
merci
 




 
j ai pas tout compris mais tu peux mettre null a la place de parent ou alors tu donne une instance de parent ds le constructeur de ton thread
 
MyThread myThread = new MyThread(this);
this fait evidement référence a l'object ClasseBase...


Message édité par veryfree le 30-09-2002 à 19:14:09
n°222062
bartleby
Posté le 30-09-2002 à 22:13:15  profilanswer
 

Hm, je crois qu'il existe une methode GetTopLevelAncestor() qui te retournerait l'objet "ClasseBase", que tu n'aurais qu'a donner en temps que parametre

n°222109
--greg--
Posté le 01-10-2002 à 01:01:15  profilanswer
 

ben ta classe de "threads" ne devrait pas afficher elle meme le message
tu devrais (par exemple), avoir une methode DANS ta frame qui affiche cette boite, et tu pourrais appeler cette methode, en passant une reference de ta frame a ta classe qui fait tes machins
y'a plus propre mais j'ai la flemme de reflechir, au suivant.


---------------
#19b | Mardi 18 Février 2003 - nous fêtons les Bernadette | contre le fleur icq!
n°222126
veryfree
Posté le 01-10-2002 à 02:50:36  profilanswer
 

--greg-- a écrit a écrit :

ben ta classe de "threads" ne devrait pas afficher elle meme le message
tu devrais (par exemple), avoir une methode DANS ta frame qui affiche cette boite, et tu pourrais appeler cette methode, en passant une reference de ta frame a ta classe qui fait tes machins
y'a plus propre mais j'ai la flemme de reflechir, au suivant.




 
 :lol:  
 
 
tu me fait trop rire  :lol:

n°222138
darklord
You're welcome
Posté le 01-10-2002 à 09:00:26  profilanswer
 

Bin c'est une erreur de design. Tu dis que tu DOIS appeller ton constructeur depuis ta classe de threads mais c'est faux !!! Si l'information se trouve ailleurs c'est à cet endroit que l'instance doit etre crée.
 
Tu peux par exemple utiliser un système de listener ou tu préviens asynchronement d'un event. Et sur base de l'event tu peux faire ce que tu veux avec les bonnes informations, au bon endroit.
 
A+


---------------
Just because you feel good does not make you right
n°222173
benou
Posté le 01-10-2002 à 11:17:24  profilanswer
 

si ton Thread a besoin du parent, il faut le lui donner ... en lui passant le parent, ou en lui passant un objet qui connait le parent en question et qui fera le boulot lorqsue le thread lui demandera.  
Par exemple, ca pourrait ton ClassBase qui gère l'ouverture du msgBox (dans une méthode), et tu passes ton objet ClassBase au thread. Quand le thread a besoin d'afficher la msgbox, il demande à l'objet ClassBase de le faire

n°222233
Slash-
Posté le 01-10-2002 à 12:46:30  profilanswer
 

merci
 
j'ai resolu mon probleme, j'ai effectivement instancie la MsgBox dans la classe de base ce qui marche beaucoup mieux :)


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

  [JAVA] retrouver le parent?

 

Sujets relatifs
[JAVA] comment donner une taille maximale a un textfield?Java ou C++
base de données java?[JAVA] comment lire/ecrire un Object dans un pipe?
C++ vs java : quels sont leurs avantages respectifs ?ping java
Quoi pour construire un message XML avec Javagraphique en java, gestion du zoom et du repere
[JAVA] applet veut pas s'arreter...[JAVA] repaint marche pas!!
Plus de sujets relatifs à : [JAVA] retrouver le parent?


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