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

  FORUM HardWare.fr
  Programmation
  Java

  Comment mettre à jour proprement une IHM relative à un traitement.

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Comment mettre à jour proprement une IHM relative à un traitement.

n°731479
EpoK
Let's burn
Posté le 19-05-2004 à 14:37:03  profilanswer
 

Bonjour,
 
J'ai un prog sous la main et je doit discocier proprement ce qui est IHM et les opérations de traitement.
 
c'est a dire que j'ai une opération qui dure pas mal de temps avec un certain nombre de "tour", et normalement mon IHM doit présenter une interface qui représente les résulats au fur et à mesure qu'ils arrivent.
 
Pour l'instant c'est cracra, avec une fonction qui fait du swing au milieu des traitements.
 
Il existe dans le logiciel pour un autre traitement une méthode qui consiste avec un thread d'allé voir toutes les n secondes si les tableaux de résultat n'ont pas bougé.
 
je trouve ça un peu lourd et je cherche a savoir si il n'existe pas une façon plus "propre" de faire cela
 
merci  :hello:

mood
Publicité
Posté le 19-05-2004 à 14:37:03  profilanswer
 

n°731491
gfive
Posté le 19-05-2004 à 14:41:18  profilanswer
 

bah, tu écris une interface AvancementListener, qui définit une méthode "LeTraitementAAvance(Avancement x);"
 
Ensuite, tu fait implémenter cette interface à la classe de l'IHM qui doit afficher l'avancement.
 
Et tu ajoutes dans la classe qui fait le treaitement, et qui est capable de dire quand il a avancé, une liste de Listeners, une méthode addAvancementListener(AvancementListener al);
removeAvancementListener(AvancementListener al)...
 
Quand le traitement avance d'un tour, par exemple, ty appelles leTraitementAAvance sur tous les listeners de la liste, et hop, ton ihm est prévenue.

n°731615
nraynaud
lol
Posté le 19-05-2004 à 15:38:00  profilanswer
 

en oubliant pas d'appeller leTraitmentAvance() dans un SwinUtilities.invokeLater().


---------------
trainoo.com, c'est fini
n°731631
gfive
Posté le 19-05-2004 à 15:43:57  profilanswer
 

nraynaud a écrit :

en oubliant pas d'appeller leTraitmentAvance() dans un SwinUtilities.invokeLater().


 
Ah tiens, pkoi? J'avoue que je me suis jamais trop penché sur ce genre de choses..

n°731640
EpoK
Let's burn
Posté le 19-05-2004 à 15:46:07  profilanswer
 

uhm uhm je me suis jamais penché sur l'écriture d'un listener  [:meganne]  
 
c'en encore un peu flou dans ma tete, je vais y réfléchir, merci pour la piste

n°731641
nraynaud
lol
Posté le 19-05-2004 à 15:46:45  profilanswer
 

heu ça fait 3 fois que j'en parle en 2 jours, ça devient lourd :
http://java.sun.com/products/jfc/t [...] eads3.html


---------------
trainoo.com, c'est fini
n°731644
R3g
fonctionnaire certifié ITIL
Posté le 19-05-2004 à 15:47:56  profilanswer
 

nraynaud a écrit :

en oubliant pas d'appeller leTraitmentAvance() dans un SwinUtilities.invokeLater().

Ca serait pas plus correct de mettre le SwingUtilities.invokeLater() dans le code de leTraitementAvance() qui modifie l'interface ? Parce que tous les listeners ne font pas forcement du swing...

n°731656
nraynaud
lol
Posté le 19-05-2004 à 15:52:06  profilanswer
 

R3g a écrit :

Ca serait pas plus correct de mettre le SwingUtilities.invokeLater() dans le code de leTraitementAvance() qui modifie l'interface ? Parce que tous les listeners ne font pas forcement du swing...

si, mais la flemme d'expliquer ça comme ça et s'il le fait autour de l'autre, ça sera déjà un grand pas.
 
 
Perso, je fais des adaptateurs swing dans certains cas. Et je suis obligé de d'avoir un modèle en "ombre" : un vrai modèle qui tourne à la vitesse du réseau ou de ce qu'il veut et un modèle spécial swing qui est listener retardé du premier. Avant de faire ça, il m'a fallut 2 semaines pour trouver un bug alacon.


---------------
trainoo.com, c'est fini
n°731661
gfive
Posté le 19-05-2004 à 15:52:50  profilanswer
 

nraynaud : sorry, j'ai pas lu tous les topics....Et comme j'ai pas fait de swig+threads depuis ma dernière année d'école (mon dieu, tout ce temps, déjà! :D) ben voilà, quoi. En AWT,le problème ne se pose pas.
 
Edit ; je dis des conneries : je me suis jamais posé la question, parce que je n'ai jamais eu le problème : je n'attendait pas des données du réseau : elles arrivaient (c'était des messages de chat), donc, je devait les afficher au moment de leur arrivée => ke problème ne se pose pas!
 
Chuis pas malin! :D


Message édité par gfive le 19-05-2004 à 16:04:13
n°731699
EpoK
Let's burn
Posté le 19-05-2004 à 16:07:07  profilanswer
 

juste pour préciser, je cherche pas a faire une progressbar ou autre, c'est vraiment des infos contennue dans des structures de données que je doi afficher, mettre a jour des jtable, des courbes etc...

mood
Publicité
Posté le 19-05-2004 à 16:07:07  profilanswer
 

n°731711
nraynaud
lol
Posté le 19-05-2004 à 16:15:16  profilanswer
 

EpoK a écrit :

juste pour préciser, je cherche pas a faire une progressbar ou autre, c'est vraiment des infos contennue dans des structures de données que je doi afficher, mettre a jour des jtable, des courbes etc...

oui oui, il faut bien protéger ton code de modification de l'interface.


---------------
trainoo.com, c'est fini
n°731720
EpoK
Let's burn
Posté le 19-05-2004 à 16:17:35  profilanswer
 

nraynaud a écrit :

oui oui, il faut bien protéger ton code de modification de l'interface.


 
si t'as le tps de donner plus de détails n'hésite pas  [:meganne]

n°731725
nraynaud
lol
Posté le 19-05-2004 à 16:24:06  profilanswer
 

EpoK a écrit :

si t'as le tps de donner plus de détails n'hésite pas  [:meganne]


nraynaud a écrit :

heu ça fait 3 fois que j'en parle en 2 jours, ça devient lourd :
http://java.sun.com/products/jfc/t [...] eads3.html


http://java.sun.com/docs/books/tut [...] reads.html


---------------
trainoo.com, c'est fini
n°731727
chantal_13
Posté le 19-05-2004 à 16:24:52  profilanswer
 

euhhh j'aurais une question (au fait je suis novice sur ce forum) : J'ai développé une IHM et j'aimerais dissocier la partie interface graphique pure des methodes de connexion, déconnexion et d'évènements sur les boutons! Il parait qu'il faut créer chaque panel de la frame et les instancier dans la classe principale mais chez moi ca ne marche po...J'ai du zapper une étape ?!?!?!?!?


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

  Comment mettre à jour proprement une IHM relative à un traitement.

 

Sujets relatifs
CSS indentation relative [résolu][Access / Sql] Comment mettre un critere sur les 3 dernieres semaines
[Php] Traitement automatiqueHeeeeeeelp ADO COleDateTime et jour <= 12
postscript / ps : mettre des majuscules en minusculesmise à jour automatique de champs
Mise à jour automatique d'un champ d'un formulaire[JS] comment mettre un ' dans document.writeln
comment mettre un tableau en publicajouter un jour à une date
Plus de sujets relatifs à : Comment mettre à jour proprement une IHM relative à un traitement.


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