IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

avec Java Discussion :

Aide pour les barres de progression


Sujet :

avec Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2007
    Messages : 41
    Par défaut Aide pour les barres de progression
    Salut tout le monde,

    Je souhaite créer une barre de progression qui indique le temps d'exécution pour la création d'un fichier!!
    Je vous explique :

    A partir d'un code java, j'exécute un programme C++ :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    String[] command = new String[] {"C:\\mzWiff\\Debug\\mzWiff.exe", "--mzXML", "-v", "C:\\Directory\\" + wiffFile.getName()};		
    Process pr = Runtime.getRuntime().exec(command);
    Il s'exécute bien, mais en fait un fichier est créé et il met du temps! Donc, je voudrais générer une barre de progression qui permettrais de faire patienter l'utilisateur en lui disant combien de temps il doit attendre!
    J'ai trouvé plein d'exemple de creation de barres, mais aucune ne dit comment faire une barre de progression de l'exécution de processus!!

    Quelqu'un a une idée??

  2. #2
    Membre Expert
    Avatar de CheryBen
    Inscrit en
    Mai 2005
    Messages
    1 599
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Mai 2005
    Messages : 1 599
    Par défaut
    Bonjour, je ne vois pas comment le programme java pourrait connaître l'avancement d'un autre processus. Ce que tu veux faire est impossible, ça devrait être à ton programme C++ de gérer cette barre de progression.

    Ou sinon, si tu peux savoir à l'avance la taille du fichier à générer, et avoir le rapport taille/temps de création, tu peux faire une barre de progression qui sera approximative.

  3. #3
    in
    in est déconnecté
    Membre Expert Avatar de in
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    1 612
    Détails du profil
    Informations personnelles :
    Localisation : France, Finistère (Bretagne)

    Informations forums :
    Inscription : Avril 2003
    Messages : 1 612
    Par défaut
    au pire tu fais une barre de progression infinie et pour montrer l'avancement du indique régulièrement la taille du fichier créé ...

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2007
    Messages : 41
    Par défaut
    Citation Envoyé par in Voir le message
    au pire tu fais une barre de progression infinie et pour montrer l'avancement du indique régulièrement la taille du fichier créé ...
    ok, ça a l'air d'être une bonne idée, et comment je fais ça?

  5. #5
    in
    in est déconnecté
    Membre Expert Avatar de in
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    1 612
    Détails du profil
    Informations personnelles :
    Localisation : France, Finistère (Bretagne)

    Informations forums :
    Inscription : Avril 2003
    Messages : 1 612
    Par défaut
    Citation Envoyé par linalin Voir le message
    ok, ça a l'air d'être une bonne idée, et comment je fais ça?
    Pour la progression infinie c'est une "option" de la classe JProgressBar. Comme c'est bientôt le weekend :

    Citation Envoyé par javadoc
    setIndeterminate(boolean newValue)
    Sets the indeterminate property of the progress bar, which determines whether the progress bar is in determinate or indeterminate mode.
    Pour contrôler la taille du fichier régulièrement, ben là à toi de voir. A priori, tu dois lancer ton traitement dans un thread. Tu peux donc avoir un autre thread qui de temps en temps récupère la taille du fichier et l'affiche ...

    Par contre, il faut que tu connaisse l'emplacement ce ce fichier et son nom ... là ça dépend de ton prog ...

    Mais bon ce n'est peut être pas possible dans ton cas. Le tout est de trouver la manière la plus sympa de montrer à l'utilisateur qu'on est pas planté et que le traitement avance ...

    [EDIT] Tu devrais lire ce tuto. tu as les objets ProgressMonitor et ProgressMonitorInputStream qui pourrait être utilisables dans ton cas ...

  6. #6
    Membre Expert
    Avatar de afrikha
    Profil pro
    Étudiant
    Inscrit en
    Août 2005
    Messages
    1 600
    Détails du profil
    Informations personnelles :
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2005
    Messages : 1 600
    Par défaut
    Citation Envoyé par in Voir le message
    A priori, tu dois lancer ton traitement dans un thread. Tu peux donc avoir un autre thread qui de temps en temps récupère la taille du fichier et l'affiche ...
    .
    C'est toujours possible ça ? je m'explique : le programme C++ a un accès en écriture (au moins ! ) à ce fichier, pour que le thread java puisse connaître la taille du fichier, il lui faut (il me semble hein) un accès en lecture, or je crois que tous les OS ne permettent pas ça.
    Merci de m'éclairer


    Mes publications
    Lisez
    Les régles du forum
    Pensez au bouton

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2007
    Messages : 41
    Par défaut
    En fait, quand j'exécute mon fichier, le cours de l'exécution s'affiche dans la sortie standard de java!!
    or je voudrais afficher ça ds une nouvelle fenetre, est ce que tu sais comment je pourrais faire?

Discussions similaires

  1. [WinForms]où trouver des bitmaps pour les barres d'outils ?
    Par hucliez dans le forum Général Dotnet
    Réponses: 2
    Dernier message: 30/09/2006, 17h10
  2. [Conception] Aide pour les liaison entre 2 table
    Par pierrot10 dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 02/09/2006, 13h03
  3. Besoin d'aide pour les dates
    Par Aurore_atmo dans le forum MATLAB
    Réponses: 6
    Dernier message: 03/07/2006, 15h37
  4. Une petite aide pour les API ?
    Par Yop dans le forum Windows
    Réponses: 2
    Dernier message: 04/04/2002, 21h45

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo