Récupérer le résultat d'une commande dans une JTextArea ? [Résolu]

Messages postés
40
Date d'inscription
mardi 21 novembre 2006
Dernière intervention
16 mai 2008
- - Dernière réponse : sheorogath
Messages postés
2465
Date d'inscription
samedi 21 février 2004
Dernière intervention
29 janvier 2010
- 18 mars 2008 à 15:41
Bonjour,
j'ai un code java qui  exécute la commande "tasklist" sous XP;

String cmd2;
cmd2="tasklist";
 try{
            Process proc = Runtime.getRuntime().exec(cmd2);
           
             BufferedReader r1 = new BufferedReader(
                        new InputStreamReader(proc.getInputStream())
             );
                String x;
                while ((x = r1.readLine()) != null) {
                System.out.println(x);
             }
             r1.close();

Comment modifier ce bout de code pour pouvoir afficher le résultat de cette commande dans une JTextArea ?
Afficher la suite 

Votre réponse

15 réponses

Meilleure réponse
3
Merci
bonjour,

Au minimum :

je remplacerais

                infoArea1.append(x);
                   infoArea1.append("--------------------------------------------------------------------------" );
 par




                infoArea1.append(x + "\n");
                   infoArea1.append("--------------------------------------------------------------------------\n" );


Une petite question : d'ou viennent les ========================= ====== ================ ======== ============ ?

Cordialement.



...\ Dan /...

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 97 internautes nous ont dit merci ce mois-ci

Commenter la réponse de Utilisateur anonyme
Messages postés
2465
Date d'inscription
samedi 21 février 2004
Dernière intervention
29 janvier 2010
0
Merci
System.out.println(x); ==> tu le change pour que ca appel une methode qui ajoute le contenu de x dans un JTextArea

"n'est pas mort ce qui semble a jamais dormir et en d'etrange temps meme la mort peut mourrir"
Commenter la réponse de sheorogath
0
Merci
Salut,

Quelque chose comme   
         nom_JTextArea.append(x);

Cordialement.

...\ Dan /...
Commenter la réponse de Utilisateur anonyme
Messages postés
2465
Date d'inscription
samedi 21 février 2004
Dernière intervention
29 janvier 2010
0
Merci
booo faut les laisser chercher un peu :p

"n'est pas mort ce qui semble a jamais dormir et en d'etrange temps meme la mort peut mourrir"
Commenter la réponse de sheorogath
Messages postés
40
Date d'inscription
mardi 21 novembre 2006
Dernière intervention
16 mai 2008
0
Merci
Merci beaucoup pour votre aide
je vais essayer puis vous dire est ce que ça fonctionne ou pas
Commenter la réponse de cs_cosworth
Messages postés
40
Date d'inscription
mardi 21 novembre 2006
Dernière intervention
16 mai 2008
0
Merci
salut,
en fait j'ai essayer le truc avec append(), mais l'affichage n'est pas bon; les lignes ne sont pas distinctes, en plus la taille du JTextArea ne convient pas à la quantité de donnée donc pas mal de ligne ne sont pas affichées, est ce que je dois changer les propriétés du JTextArea ? ou dois je jouer sur la méthode à utiliser pour l'affichage ? et est ce que c'est possible de modifier le résultat de la commande tasklist par des parametres pour n'afficher que les informations nécéssaires
et merci à vous tous
Commenter la réponse de cs_cosworth
0
Merci
salut sheorogath,

c'est vrai, pardon , mais je me rend compte qu'il doit "encore" chercher !
...\ Dan /...
Commenter la réponse de Utilisateur anonyme
Messages postés
2465
Date d'inscription
samedi 21 février 2004
Dernière intervention
29 janvier 2010
0
Merci
heu peux tu faisun screen du resultat


je vois pas du tout ce que tu as

"n'est pas mort ce qui semble a jamais dormir et en d'etrange temps meme la mort peut mourrir"
Commenter la réponse de sheorogath
Messages postés
40
Date d'inscription
mardi 21 novembre 2006
Dernière intervention
16 mai 2008
0
Merci
Excusez moi mais comment faire pour vous envoyer une capture ecran ?
Commenter la réponse de cs_cosworth
0
Merci
Salut,


Avec ta souris, tu cliques sans relacher le bouton (gauche) en haut et a gauche du texte de la TextArea et tu descends jusqu'en bas du texte (dernier caractere de la derniere ligne). Ensuite Ctrl et sans relacher c : ton texte est dans le presse papier.

Il ne te reste plus qu'a le coller dans ton message par Ctrl v ou coller (+ d'options).

Cordialement.



...\ Dan /...
Commenter la réponse de Utilisateur anonyme
Messages postés
40
Date d'inscription
mardi 21 novembre 2006
Dernière intervention
16 mai 2008
0
Merci
bonjour,

voici ce que m'affiche la JTextArea;

--------------------------------------------------------------------------Nom
de
l'image             
PIDÿ Nom de la sessio Num‚ro d Utilisation
--------------------------------------------------------------------------=========================
==== ================ ========
==========--------------------------------------------------------------------------System
Idle
Process           
0
Console                
0        16
Ko--------------------------------------------------------------------------System                        
4
Console                
0       240
Ko--------------------------------------------------------------------------smss.exe                    
428
Console                
0       372
Ko--------------------------------------------------------------------------csrss.exe                   
488
Console                
0     5ÿ600
Ko--------------------------------------------------------------------------winlogon.exe                
516
Console                
0     3ÿ944
Ko--------------------------------------------------------------------------services.exe                
560
Console                
0     3ÿ772
Ko--------------------------------------------------------------------------lsass.exe                   
572
Console                
0     7ÿ356
Ko--------------------------------------------------------------------------svchost.exe                 
752


et voici le bout de code;

String cmd2;


        cmd2="tasklist";


        


        try{


            Process proc = Runtime.getRuntime().exec(cmd2);


            


             BufferedReader r1 = new BufferedReader(


                       
new InputStreamReader(proc.getInputStream())


             );


                String x;


               
while ((x = r1.readLine()) != null) {


               
//infoArea1.append("--------------------------------------------------------------------------\n"
);


                infoArea1.append(x);


              
   
infoArea1.append("--------------------------------------------------------------------------"
);


                


             }


             r1.close();


            // proc.waitFor();


          


            


        }


        catch (IOException t)


        {}


est ce qu'il ya s'il vous plait une méthode d'ameliorer l'affichage ?
Commenter la réponse de cs_cosworth
Messages postés
2465
Date d'inscription
samedi 21 février 2004
Dernière intervention
29 janvier 2010
0
Merci
non a moins dessayer avec un JTextPane ... je sasi pas si ca serait mieu ...

sinon non tout a la main ^^

"n'est pas mort ce qui semble a jamais dormir et en d'etrange temps meme la mort peut mourrir"
Commenter la réponse de sheorogath
Messages postés
40
Date d'inscription
mardi 21 novembre 2006
Dernière intervention
16 mai 2008
0
Merci
bonjour,

merci danimo, c'est mieux avec votre truc mais la taille du JTextArea
est fixe donc les données ne s'affichent pas toutes, moi je travail
avec JCreator donc j'ai pas un éditeur graphique comment je peut rendre
la taille du JTextArea proportionelle à la quantité de données ,

à bientôt
Commenter la réponse de cs_cosworth
Messages postés
40
Date d'inscription
mardi 21 novembre 2006
Dernière intervention
16 mai 2008
0
Merci
bonjour,

merci danimo, c'est mieux avec votre truc mais la taille du JTextArea
est fixe donc les données ne s'affichent pas toutes, moi je travail
avec JCreator donc j'ai pas un éditeur graphique comment je peut rendre
la taille du JTextArea proportionelle à la quantité de données ,

à bientôt
Commenter la réponse de cs_cosworth
Messages postés
2465
Date d'inscription
samedi 21 février 2004
Dernière intervention
29 janvier 2010
0
Merci
quand tu ajoutes ton infoArea1 ajoute plutot

new JScrollPane( infoArea1)

"n'est pas mort ce qui semble a jamais dormir et en d'etrange temps meme la mort peut mourrir"
Commenter la réponse de sheorogath

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.